@charset "UTF-8";
/* CSS Document */

/* Tablet */
@media (max-width: 959px){
	.pc{
		display: none !important;}
	.pc_2{
		display: none !important;}

	
	.sp-slide img{
		height: 350px;
	}
	.sp-slide h2{
		font-size: 2em !important;
		max-width: 700px!important;
		width: 90%;
		min-width: 340px;
	}
	.news{
		height:auto;
		margin: 0 10px;
		flex-direction: column;
		justify-content: flex-start;
		padding: 15px;
	}
	.news h2{
		width: 100%;
		border-right: none;
		border-bottom: solid 1px #ccc;
	}

	.contents_g{
		margin: 100px 0 50px;
		padding: 10px;
	}
	.contents_g::before{
		top:-50px;
		border-width: 0 100vw 50px 0;
	}
	.contents_g::after{
		bottom:-50px;
		border-width: 0 100vw 50px 0;
	}
	.greeting_img{
		width: 150px;
		height: 150px;
		margin-bottom: 20px;
	}
	.contents h2{
		font-size: 1.5em;
	}
	.menu_link{
		margin-bottom: 20px;
	}
	.contents_link{
		height: inherit;
	}
	.link_button{
		width: 250px;
		height: 250px;
	}
	.top_pro_img img{
		width: 120px;
		height: 120px;
	}
	.subtitle{
		height: 250px;
	}
	.feature table th,.feature table td{
		display: block;
		width: 100%;
	}
	.services dl{
		display: block;
	}
	.services dd{
		width: 100%;
	}

	.process_02-flex{
		display: block;
	}
	.process_02{
		width: 100%;
	}
	.process_02 p{
		height: auto;
		padding: 1em;
		line-height: 1em;
		color: #fff;
		margin-top: 15px;
	}
	.process_arrow{
		margin: auto;
	}
	.process_arrow i{
		display: block;
		text-align: center;
		font-size: 50px;
		margin-top: 10px;
	}
	input[type='text'] ,input[type='date'] , textarea{
		width: 100% !important;
	}
	.product_wrap img{
		position: absolute;
		top:200px;
		left: 50%;
		transform: translateX(-50%);
		width: 180px;
		height: 180px;
	}
	.product_wrap h4{
		top:270px;
	}
	.product_wrap p{
		top:390px;
		left: 0;
	}
	.gallery_wraper{
		padding: 10px;
	}
	/*最後の行の隙間を解消*/
	.gallery_wraper::before{
		width:calc(95% / 2);
	}
	.gallery_wraper::after{
		width:calc(95% / 2);
	}
	.photo_in{
		width:calc(95% / 2);
		background-color: #fff;
		margin-bottom: 10px;
		border-radius: 10px;
		padding: 10px;
		position: relative;
		overflow: hidden;
	}
	.photo_in img{
		display: block;
		width: 280px;
		height: 280px;
		border-radius: 10px;
		object-fit: contain;
		margin: auto;
	}
}


/* sp */
@media (max-width: 749px){
	.pctb{
		display: none !important;
	}
	.sp-slide h2{
		text-align: left;
		line-height: 150%;
		font-size: 1.5em !important;
		max-width: 350px!important;
		width: 90%;
		min-width: 340px;
	}
	.sp-slide img{
		height: 250px;
	}
	.contents_g{
		margin: 50px 0 30px;
		padding: 10px;
	}
	.contents_g::before{
		top:-30px;
		border-width: 0 100vw 30px 0;
	}
	.contents_g::after{
		bottom:-30px;
		border-width: 0 100vw 30px 0;
	}
	.contents_in{
		padding: 5px;
	}
	.news h2{
		font-size:1.5em;
		padding-left: 1em;
	}
	.greeting_txt h4{
		font-size:1.3em;
	}
	.greeting_img{
		width: 90px;
		height: 90px;
		margin-bottom: 20px;
	}
	/* コンテンツリンク　==================== */
	.contents_link{
		display: block;
	}
	.link_button{
		margin: 20px auto;
	}
	.top_pro_img {
		width: calc(100% / 3);
		text-align: center;
		margin-bottom: 30px;
	}
	.top_pro_img img{
		width: 100px;
		height: 100px;
	}
	.flex_map{
		flex-direction: column;
		justify-content: center;
		align-items: center;
	}
	.appeal p{
		padding: 10px;
	}

	.flex-between,.flex-center{
		display: block;
	}
	header h1,.header-change h1{
		padding-left: 20px;
	}
	header h1 img,.header-change h1 img{
		height: inherit;
		width: 80%;
		max-width: 300px;
		margin: auto;
	}
	
	.menu_link{
		margin: 0 auto;
		width: 90%;
		max-width: 700px;
		margin-bottom: 50px;
	}
	.link_flex{
		height: inherit;
		flex-direction: column;
		padding: 5px;
	}
	.link_contents{
		width: 250px;
		height: 230px;
		overflow: hidden;
	}
	.contact_icon{
		justify-content: center;
		align-items: center;
		margin: auto;
	}
	
	.icon_child{
		margin:10px;
	}
	.contact_icon .icon_child a{
		max-width: 400px;
		min-width: 250px;
	}
	.footer_in img{
		display: block;
		width: 80%;
		max-width: 280px;
		margin: auto;
		padding-bottom: 15px;
	}
	.footer_in p{
		display: block;
		vertical-align:middle;
		width: 80%;
		max-width: 280px;
		margin: auto
	}
	.img_bg{
		background-position: center;
	}
	.subtitle h2{
		font-size: 1.3em;
		width: 90%;
		text-align: center;
	}
	.aisatsu_flex{
		padding: 5px;
		flex-direction: column;
		justify-content: center;
		align-items: center;
	}
	.case_table th{
		width: 80px;
		padding: 0.5em;
	}

	.company_table th,.company_table td{
		display: block;
		width: 100%;
	}
	
	table.event th,table.event td{
		display: block;
		width: 100%;
	}
	.price{
		overflow: auto;
	}
	.price table{
		width: 800px;
	}
	.tel_button a{
		width: 100%;
		font-size:1.1em ;
	}
	.recruit{
		padding: 5px 0;
	}
	.flex-rec_voice{
		padding: 5px;
		flex-direction: column;
	}
	.recruit_img{
		width: 100%;
	}
	.recruit_p02{
		padding: 0;
	}
	.wage{
		overflow: auto;
	}
	.wage table{
		width: 950px;
	}
	.flow table{
		width: 100%;
	}
	.flow table th,.flow table td{
		display: block;
		width: 100%;
		text-align: left;
	}

	.imgbox{
		display: block;
	}
	.imgbox img{
		width: 100%;
	}
	.contents_sub{
		padding-top: 80px;
	}
	.contents_sub h2{
		width: 90%;
		font-size: 1.2em ;
		line-height: 1.5em;
		padding-left: 1em;
		padding-top: 0.5em;
		padding-bottom: 0.5em;
		background: url("../img/point_img03.png") no-repeat;
		background-position: center bottom;
		background-size: 95%;
		margin-bottom: 20px;
	}
	.process_01{
		min-width: 300px;
		width: 100%;
	}
	.process-img01{
		min-width: 300px;
		width: 100%;
	}
	.mailform{
		padding: 10px;
	}
	.tel_button a{
		width: 100%;
	}
	.product_wrap{
		height: 600px;
	}
	.product_wrap p{
		position: absolute;
		top:350px;
		left: 0;
		padding: 1em;
	}
	.product_wrap h4{
		font-size: 1em;
		position: absolute;
		top:240px;
		left: 50%;
		transform: translateX(-50%);
		width: 190px;
		text-align: center;
		vertical-align: middle;
		border-radius: 50%;
		color: #fff;
	}
	.product_wrap img{
		position: absolute;
		top:160px;
		left: 50%;
		transform: translateX(-50%);
		width: 200px;
		height: 200px;
	}
	.gallery_wraper{
		justify-content: center;
	}
	/*最後の行の隙間を解消*/
	.gallery_wraper::before{
		width: 320px;
	}
	.gallery_wraper::after{
		width: 320px;
	}
	.photo_in{
		width: 320px;
		background-color: #fff;
		margin-bottom: 10px;
		border-radius: 10px;
		padding: 10px;
		position: relative;
		overflow: hidden;
	}
	
	.product_wrap02{
		flex-direction: column;
	}
	.product_wrap02 div{
		width: 100%;
	}

}

