@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;
	}
	.contents_in,.contents_in_wide{
		padding: 0 10px;
	}
	.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;
	}
	.icon_flex div img{
		width: 165px;
		height: 165px;
	}
	.txt_box{
		max-width: 100%;
		overflow: hidden;
	}
	footer{
		padding: 50px 0 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%;
	}
	/* 新着情報 ================================================== */
	.news_wrap{
		padding: 30px 0 10px;
	}
	.news{
		flex-direction: column;
		justify-content: center;
		align-items: center;
		height: 200px;
		padding: 10px;
	}
	.news h3{
		padding: 0.5rem 0;
		line-height: 120%;
	}
	.news_in{
	}
	
	.grid figure{
		width: calc(100% / 2 - 20px);
	}
	/* 概要 ================================================== */
	.services_wrap{
		height: 450px;
	}
	.services_wrap .img,.services_wrap .img02{
		width: 80%;
	}
	.services_wrap .txt,.services_wrap .txt02{
		width: 90%;
		top:auto;
		bottom: 0;
	}
	.services_wrap h4{
		font-size: 1.3em;
	}



}
@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%;
	}
	
	.contents_in{
		width: calc(100% - 20px);
		margin: auto;	
		padding: 20px 10px;
	}

	.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;
	}
	.rec_wrap .rec_txt{
		width: 100%;
		max-width: 600px;
		padding: 20px 10px;
	}
	.rec_wrap .rec_txt{
		background: rgba(0,0,0,0);
	}
	.bg_link{
		background-size: auto 100%;
		background-position: right;
	}
		/* フッター ================================================== */
	.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;
	}
	.carousel .slick-next {
		right: -10px;
		z-index: 50;
	}
	.carousel .slick-prev {
		left: -10px;
		z-index: 50;
	}
	
	.grid {
		flex-direction: column;
		justify-content: center;
		align-items: center;
	}
	.grid figure{
		width: calc(100% - 20px);
		max-width: 350px;
		min-width: 250px;
	}
	figure.effect-goliath:hover img {
		-webkit-transform: translate3d(0,-70px,0);
		transform: translate3d(0,-70px,0);
	}

	figure.effect-goliath:hover h3 {
		-webkit-transform: translate3d(0,-70px,0);
		transform: translate3d(0,-70px,0);
	}
	
	.card001{
		flex-direction: column;
		justify-content: center;
		align-items: center;
		margin-bottom: 30px;
	}
	.card001 figure{
		width: calc(100% - 20px);
	}
	.card001 figure img{
		aspect-ratio: 16 / 9;
	}
	
	.triangle table tr{
		 border-bottom: none;
	}
	.triangle table th{
		border:none;
		padding: 10px 0;
	}
	.triangle table th,.triangle table td{
		display: block;
		width: 100%;
	}
	.triangle table th:after{
		content:'';
		position:absolute;
		width: 0px;
		height: 0px;
		border-top: 10px solid #000;
		border-left: 10px solid transparent;
		border-right: 10px solid transparent;
		top:calc(100% - 1px);
		left:50%;
		right: auto;
		transform: translateX(-50%);
	}
	.triangle table td{
		padding: 20px 0 10px;
	}

	

}
@media (max-width: 450px){
	.slider{
		height: 450px;
	}

	#mailform table td{
		padding: 0.5em;
	}
	#mailform .radio{
		padding: 0;
	}
	.services_wrap h4{
		font-size: 1.1em;
	}
	.services_wrap .img,.services_wrap .img02{
		width: 90%;
	}
	.services_wrap .txt,.services_wrap .txt02{
		width: 90%;
		padding: 15px;
		top:auto;
		bottom: 0;
	}
	
}
