@charset "UTF-8";
/* CSS Document */
@media (max-width: 1200px){
	
}
@media (max-width: 959px){
	.pc{
		display: none !important;
	}
	.w1300,.w960{
		padding-left: 10px;
		padding-right: 10px;
	}
	.site-header{
		height: 60px;
		background: rgba(255,255,255,0.5);
	}
	.top_title .num{
		font-size: 7rem;
	}
	.top_title .en{
		font-size: 3rem;
	}
	.txt_copy01{
	font-size: 1.2rem;
}
	.greeting_wrap .greeting_txt,.rec_wrap .rec_txt{
		width: 80%;
		max-width: 600px;
		padding: 15px;
		background: rgba(0,0,0,0.3);
	}
	.greeting_wrap .greeting_txt p{
		min-height: 200px;
		text-shadow: 2px 2px 5px #fff;
	}
	.bg_grad03{
		width: 100%;
		background: linear-gradient(to right, #f5f5f5 80%, rgba(2,159,91,0.5) 80%);
		background-repeat: no-repeat;
		background-size: cover;
}
	.contents_type01{
		padding: 100px 0;
	}
	.contents_type01::after{
		height: 53%;
	}
	.contents_type01 .text{
		padding: 60px 20px;
		width: 90%;
		margin: 0 auto;
		position: relative;
		z-index: 1;
		top: -30px;
	}
	.contents_type01 .text::after{
		width: 100%;
	}
	.contents_type01 .text .btitle{
		font-size: 2rem;
	}
	.contents_type01 .img_wrap{
		position: relative;
		top: 0;
		width: 70%;
		height: 350px;
		padding: 20px;
		margin: 0 0 0 auto;
	}
	.title_wrap{
		width: 100%;
	}
	
	.txt_box{
		max-width: 100%;
		overflow: hidden;
	}
	footer{
		padding: 50px 0 0;
	}
	.footer_in{
		padding-left: 10px;
		padding-right: 10px;
	}
	.subtitle{
		height: 300px;
	}
	.tel_button{
		width: calc(100% - 30px);
		margin: auto;
	}
	.mailform{
		padding: 30px 0;
	}
	input[type='text'] ,input[type='date'] , textarea{
		width: 100%;
	}
	#mailform table th,
	#mailform table td{
		display: block;
		width: 100%;
	}

	.card002{
		flex-direction: column;
		justify-content: center;
		align-items: center;
		margin-bottom: 30px;
	}
	.card002 img{
		display: block;
		max-width: 450px;
		margin: auto;
	}
	
	.card002 .txt_company{
		padding: 15px;
	}
	.card003{
		flex-direction: column;
		justify-content: center;
		align-items: center;
		margin-bottom: 30px;
		max-width: 500px;
	}
	.left,.center,.right{
		margin: 0 auto 50px;
	}
	.reverse{
		flex-direction: column-reverse;
	}
	figure.effect-honey{
		width: calc(100% - 10px);
	}
	.subtitle{
		background: linear-gradient(rgba(0,0,0,0.2) ,rgba(0,0,0,0.2) ),url("../img/slide01.jpg");
		background-size: cover;
		background-position: center;
	}
	.sub_copy{
		transform: translate(-50% , -50%);
	}
	.sub_copy h2{
		font-size: 1em;
	}
	input[type='text'] ,input[type='date'] , textarea{
		width: 100% ;
	}
	#mailform table th,
	#mailform table td{
		display: block;
		width: 100%;
	}
	.line02 table th{
		display: block;
		width: 100%;
		border-bottom: none;
		color: #029f5b;
		text-align: left;
		padding: 1em 1em 0.5em;
	}
	.line02 table td{
		display: block;
		width: 100%;
		border-bottom: solid 3px #029f5b;
		padding: 0.5em 1em 1em;
	}
	.card004{
		flex-direction: column;
	}
	.card004 .card004_inner{
		width: calc(100% - 30px);
	}
	.photo_flex{
		flex-wrap: wrap;
	}
	.photo_flex div{
		width: 50%;
	}
	/* 流れ======================================== */
	.flow_inner{
		flex-direction: column;
		justify-content: center;
		align-items: center;
	}
	.flow_txt{
		width: 100%;
	}
	.h_number{
		left: -50px;
	}

}
@media (max-width: 750px){
	.tbpc{
		display: none !important;
	}
	.top_title .num{
		font-size: 6rem;
	}
	.top_title .en{
		font-size: 2rem;
	}
	.flexbox{
		display: block;
	}
	.button_wrap_flex{
		width: calc(100% - 20px);
		max-width: 300px;
		flex-direction: column;
		justify-content: center;
		align-items: center;
	}
	.button_wrap_flex .button_01{
		margin: 10px;
	}
	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%;
	}
	.news_in{
		height: auto;
		max-height: 340px;
	}
	
	.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;
	}

	
	/* コンテンツ ================================================== */
	.greeting_wrap{
		flex-direction: column;
		justify-content: center;
		align-items: center;
	}	
	.contents_link{
		flex-direction: column;
		justify-content: center;
		align-items: center;
	}
	figure.effect-honey{
		width: calc(100% - 20px );
		max-width: 400px;
		margin-bottom: 30px;
	}
	.car th,.car td{
	font-size: 1em;
	padding: 0.3em;

}
		/* フッター ================================================== */
	.footer_contact{
		flex-direction: column;
	}
	.footer_contact .border{
		border-left: none;
		border-top: dashed 1px #ccc;
	}
	.footer_in{
		flex-direction: column;
		justify-content: center;
		align-items: center;
	}
	.footer_in div{
		width: 100%;
		max-width: 320px;
		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;
	}
	
	
	.picup{
		width: 100%;
		align-content: stretch;
		padding: 20px;
	}
	.button_wrap_tel{
		width: 95%;
		max-width: 500px;
	}
	#mailform{
		padding: 20px 10px;
	}
	.area_map{
		background-size:100%;
		background-position: center;
		
	}
	.area_map .wrap70{
		width: 100%;
		background: rgba(255,255,255,0.59);
	}

	

}
@media (max-width: 450px){
	.bg_in_w{
		padding: 50px 15px;
	}
	.site-header h1 img{
		height: 35px;
	}
	.slider{
		height: 450px;
	}
	.copy_wrap h3{
		margin-top: 20vh;
		font-size: 1.7rem;
	}
	.footer_contact{
		width: 100%;
	}

	#mailform table td{
		padding: 0.5em;
	}
	#mailform .radio{
		padding: 0;
	}
	
	.card003{
		max-width: 100%;
	}
	.card003 .img{
		width: 200px;
	}
	.flow_photo{
		width: 260px;
	}
	.flow_photo img{
		width: 260px;
	}
	.contents_type01 .img_wrap {
    position: relative;
    top: 0;
    width: 100%;
    height: 350px;
    padding: 20px;
    margin: 0 0 0 auto;
}
	
}
