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


@media (max-width: 1239px){
	/* レイアウト ======================================== */
	.wrapper_all{
		max-width: 100%;
	}
	.main_wrap{
		width: 100%;
		padding-left: 250px;
	}
	footer{
		padding: 30px 10px;
	}
	.contents{
		padding: 50px 10px;
	}
	.bg_cut01{
		background-size: 280px;
		padding-bottom: 120px;
	}
	.card001{
		flex-direction: column;
		justify-content: center;
		align-items: center;
	}
	.card001 figure{
		margin-bottom: 50px;
	}
	.card001 figure img{
		width: 100%;
		max-width: 400px;
		display: block;
		margin: auto;
	}
	.card001 .t50,.card001 .t100{
		margin-top: 50px;
	}
	.card002{
		flex-direction: column;
		justify-content: center;
		align-items: center;
		margin-bottom: 30px;
	}
	.card002 .img{
		width: 100%;
		max-width: 400px;
	}
	
	.card003{
		flex-direction: column;
		justify-content: center;
		align-items: center;
		margin-bottom: 30px;
	}
	.card003 .img{
		width: 100%;
		max-width: 400px;
	}
	.card003 .txt{
		width: 100%;
	}
	figure.effect-chico figcaption{
		padding: 1rem;
	}
	figure.effect-chico h3{
		font-size: 1.2rem;
	}
	.flex_contents{
		flex-wrap: wrap;
	}
	.contact_wrap .flex_contents div{
	}
	.contact_wrap{
		padding: 50px;
	}
	.greeting_img{
		width: 30%;
	}
	.greeting_img img.g01{
		width: 220px;
	}
	.greeting_img img.g02{
		width: 130px;
		top: 0;
		left: auto;
		right: 0;
	}
	.greeting_wrap .reeting_txt{
		padding: 15px;
		flex: 1;
	}
	.wrap80{
		width: 100%;
		max-width: 100%;
		padding: 0 10px;
	}
	.bg_img02{
		background-size: 150%;
	}
	.reverse{
		flex-direction: column-reverse;
	}

	
	
}
@media (min-width: 960px){ /* 960px以下　スマホとタブレットのみ表示 */
	.sptb{
		display: none;
	}
}
@media (max-width: 959px){
	.pc{
		display: none;
	}
	.top_slider .slider li .top_copy{
		bottom: 25%;
	}
	.top_slider .slider li.slick-active .top_copy{
		bottom: 35%;
	}
	.top_slider .slider li .top_copy img{
		width: 75px;
	}
	.top_slider .tb_title{
		display: block;
	}
	.main_wrap{
		width: 100%;
		padding-left: 0;
	}
	.bg_w_inner{
		padding: 50px 15px;
	}
	.bg_p_tl{
		background-size: 200px;
	}
	.img_flex li{
		max-width: 250px;
	}
	.greeting_wrap{
		flex-direction: column;
		justify-content: center;
		align-items: center;
	}
	.greeting_wrap .reeting_txt{
		width: 100%;
	}
	.greeting_img{
		height: 260px;
		width: 100%;
		max-width: 300px;
	}
	.greeting_img img.g01{
		width: 220px;
		bottom: 0;
		left: 0;
	}
	.greeting_img img.g02{
		width: 130px;
		top: 0;
		left: auto;
		right: 0;
	}
	
	.subtitle{
		height: 300px;
	}
	
	.line02 table th,.line02 table td{
		display: block;
		width: 100%;
	}
	.line02 table th{
		padding-bottom: 0.5rem;
		border:none;
		text-align: left;
	}
	.line02 table td{
		padding-top: 0.5rem;
		border-bottom: solid 3px #b4dd39;
	}
	.mailform{
		padding: 10px;
	}
	#mailform table th,
	#mailform table td{
		display: block;
		width: 100%;
	}
	
	input[type='text'] ,input[type='date'] , textarea{
		width: 100% ;
	}
	.sp_contact{
		display: block;
	}
	
}
@media (max-width: 750px){
	.top_slider .slider li.top02{
		background-position: right 10% center;
	}
	
	.img_flex{
		flex-wrap: wrap;
	}
	.img_flex li{
		width: calc(100% / 2);
	}
	.contact_wrap{
		padding: 50px 15px;
	}
	.card001 .footer_inner span{
		display: inline-block;
	}
	.img_type01{
		aspect-ratio: 2 / 1;
		object-fit: cover;
	}
	.subtitle{
		height: 250px;
	}
	.bg_cut01{
		background-size: 270px;
		padding-bottom: 120px;
	}
	.tel_button .phone{
		padding: 1.5rem 10px;
	}
	.tel_button .phone .nb{
		font-size: 1.5rem;
	}

}
@media (min-width: 450px){
	.sp450{
		display: none;
	}
}
@media (max-width: 449px){
	.top_slider .slider li.top02{
		background-position: right 20% center;
	}
	
	figure.effect-chico{
		width: calc(100% - 20px);
		aspect-ratio: 1 / 1;
	}
	.line02 table th{
		padding: 1rem 0 0.5rem
	}
	.line02 table td{
		padding: 0.5rem 0 1rem;

	}
	.photo_flex_d .img{
		width: calc(100% / 2);
	}
	.photo_flex_d .img2{
		width: calc(100% - 30px);
	}
	.top_slider .slider li .top_copy{
		bottom: auto;
		top: 40%;
	}
	.top_slider .slider li.slick-active .top_copy{
		bottom: auto;
		top: 35%;
	}

	.top_slider .slider li .top_copy img{
		width: 60px;
	}
	.sp_contact_inner a span.tb_txt{
		display: none
	}
	.sp_contact_inner a span.sp_txt{
		display: inline-block;
	}
	.bg_img02{
		background-size: auto;
	}
	.bg_cut01{
		background-size: 230px;
		padding-bottom: 130px;
	}
	.txt_lv02{
		font-size: 1rem;
	}
	.txt_lv02 span{
		font-size: 2em;
	}
	ul.block02 li{
		margin-right: 0;
	}
	footer .footer_inner p{
		font-size: 0.9rem;
		padding: 0;
	}

}



