@charset "UTF-8";
/* CSS Document */
@media (max-width: 1200px){
	.site-header h1 img{
		height: 40px;
	}
	.site-header nav ul li{
		font-size: 0.7rem;
	}
	.tel_header{
		width: 180px;
	}
	.h_number{
		left: -20px;
	}

}
@media (max-width: 960px){
	.pc{
		display: none !important;
	}
	.w960{
		padding: 10px;
	}
	/* スライダー*/
	.slide_wrap::before{
		top: 100px;
		left: 50px;
		right: 50px;
		bottom: 70px;
		background:#3eb370;
		transform: rotate(2deg);
		z-index: 1;
	}
	.slider{
		top: 100px;
		left: 50px;
		bottom: 50px;
		width: calc(100% - 100px);
		height: calc(100% - 170px);
	}
	.top_deco .img_tl{
		width:70%;
	}
	.top_deco .img_br{
		width: 70%;
	}
	/* 新着情報  */
	.news_wrap{
		padding: 30px 0 10px;
	}
	.news{
		flex-direction: column;
		justify-content: center;
		align-items: center;
		height: 250px;
		padding: 10px;
	}
	.news h3{
		font-size: 1.2rem;
		padding: 0.5rem 0;
		line-height: 120%;
		text-align: center;
	}
	.news h3 span{
		font-size: 70%;
	}
	.news_in{
	}
	/* コンテンツ  */
	.contents_in{
		padding: 0 10px;
	}
	.contents_in_wide{
		padding: 0 10px;
	}
	.txt_lv02{
		font-size: 1.2em;
	}
	.txt_catch{
		text-align: left;
	}
	figure.effect-chico{
		width: calc(100% / 3 - 20px);
	}
	figure.effect-chico h3 {
		font-size: 1.3em;
	}
	
	.flex_contact{
		width: 100%;
		flex-direction: column;
		justify-content: center;
		align-items: center;
	}
	
	footer{
	}
	.slide_wrap_sub::before{
		top: 100px;
		left: 50px;
		right: 50px;
		bottom: 50px;
		background:#3eb370;
		transform: rotate(2deg);
		z-index: 1;
	}
	.slider_sub{
		top: 100px;
		left: 50px;
		bottom: 50px;
		width: calc(100% - 100px);
		height: calc(100% - 150px);
	}
	.mailform{
		padding: 30px 10px;
	}
	input[type='text'] ,input[type='date'] , textarea{
		width: 100% ;
	}
	#mailform table th,
	#mailform table td{
		display: block;
		width: 100%;
	}
	.postcord{
		width: 150px !important;
	}
	.card001{
		flex-wrap: wrap;
	}
	.card001 li{
		width: calc(100% / 2 );
		text-align: center;
	}
	.card001 li img{
		width: 100%;
		max-width: 300px;
	}


}
@media (max-width: 750px){
	.tbpc{
		display: none !important;
	}
	.top_copy h2{
		font-size: 1.8em;
	}
	.top_copy p{
		font-size: 1.3em;
	}
	.photo_flex{
		flex-direction: column;
		justify-content: center;
		align-items: center;
	}
	
	.txt_box h2{
		font-size: 1.8rem;
	}
	.txt_catch{
		font-size: 1.2em;
	}
	.grid{
		flex-direction: column;
		justify-content: center;
		align-items: center;
	}
	figure.effect-chico{
		width: 80%;
		max-width: 350px;
	}
	figure.effect-chico figcaption{
		padding: 4em;
	}
	figure.effect-chico:hover .arrow{
		bottom: 30%;
		right: 60px;
	}

	.card002{
		flex-direction: column;
		justify-content: center;
		align-items: center;
		margin-bottom: 30px;
		padding: 10px;
	}

	.card003{
		flex-direction: column;
		justify-content: center;
		align-items: center;
		margin-bottom: 30px;
	}
	.reverse{
		flex-direction: column-reverse;
	}
	
	.news{
		flex-direction: column;
		justify-content: center;
		align-items: center;
	}
	.news h3{
		padding: 0.5em 0;
	}
	.contact_btn_wrap{
		flex-direction: column;
		justify-content: center;
		align-content: center;
	}

/* フッター ================================================== */
	.footer_in{
		flex-direction: column;
		justify-content: center;
		align-items: center;
	}

	
	.picup{
		width: 100%;
		align-content: stretch;
		padding: 20px;
	}
	.button_wrap_tel{
		width: 95%;
		max-width: 500px;
	}
	.bg_in_w,.bg_in_b{
		padding: 10px;
	}
	
	.sub_title h2{
		font-size: 2rem;
	}
	#mailform{
		padding: 20px 10px;
	}
	
	.contents_flex{
		flex-direction: column;
		justify-content: center;
		align-items: center;
	}
	.contents_flex dl{
		margin-bottom: 30px;
	}

	.button_flow{
		margin: 0.5em auto;
	}

	/* 求人　================================================== */
	.line02 table th,.line02 table td{
		display: block;
		width: 100%;
		text-align: left;
	}
	.line02 table th{
		border-bottom: none;
		color: #3eb370;
	}
	.line02 table td{
		border-bottom: solid 3px #1778c9;
	}
	.icon_flex {
		justify-content: center;
		flex-wrap: wrap;
	}
	.icon_flex div,.icon_flex li{
		width: calc(100% / 3 - 20px);
		margin: 10px;
		padding: 0;
	}
	.icon_flex h4{
		font-size: 1em;
	}
		/* 流れ======================================== */
	.flow_inner{
		flex-direction: column;
		justify-content: center;
		align-items: center;
	}
	.flow_txt{
		width: 100%;
	}
	.h_number{
		left: -50px;
	}
	


	.sdgs{
		padding: 30px 20px;
	}
	.sdgs .flex{
		display: block;
	}
	.sdgs .flex .text{
		width: 100%;
		margin-bottom: 20px;
	}
	.sdgs .flex .img{
		width: 300px;
		margin: 0 auto;
	}

}
@media (max-width: 450px){
	/* スライダー======================================== */
	.slide_wrap{
		height: 80vh;
		min-height: 500px;
	}
	.top_deco{
		height: 80vh;
		min-height: 500px;
	}
	
	.slide_wrap::before{
		top: 100px;
		left: 20px;
		right: 20px;
		bottom: 70px;
		background:#3eb370;
		transform: rotate(2deg);
		z-index: 1;
	}
	.slider{
		top: 100px;
		left: 20px;
		bottom: 20px;
		width: calc(100% - 40px);
		height: calc(100% - 170px);
	}
	.bg_img03{
		background-size: 200%,cover;
		background-position: center;
	}
	.top_copy h2{
		font-size: 1.6em;
	}
	.top_copy p{
		font-size: 1.1em;
	}
	.icon_flex li{
		width: calc(100% / 2 - 30px);
	}
	
	.slide_wrap_sub::before{
		top: 100px;
		left: 20px;
		right: 20px;
		bottom: 50px;
		background:#3eb370;
		transform: rotate(2deg);
		z-index: 1;
	}
	.slider_sub{
		top: 100px;
		left: 20px;
		bottom: 20px;
		width: calc(100% - 40px);
		height: calc(100% - 150px);
	}

	#mailform table td{
		padding: 0.5em;
	}
	#mailform .radio{
		padding: 0;
	}
	.anchor_link ul li{
		width: calc(100% / 3);
		font-size: 0.8em;
		min-width: 8em;
	}
	.h_number{
		left: -20px;
		line-height: 70px;
		width: 70px;
	}
	.card001 li{
		font-size: 80%;
	}
	
}
