@charset "UTF-8";
/* CSS Document */
@media (max-width: 1180px){
	.txt_wrap{
		left: 10px;
		width: calc(100% - 20px);
	}
	.left_wrap{
		width: calc(100% - 50px);
		min-width: 900px;
	}
	.right960{
		width: 100%;
		max-width: 100%;
		margin: auto;
		padding: 50px 20px;
	}
	.txt_wrap_left,.txt_wrap_right{
		width: 100%;
		margin:0 ;
	}
	.txtbox_c70{
		width: 80%;
	}
}
@media (max-width: 959px){
	.pc{
		display: none !important;
	}
	#splash_logo img{
		height: 400px;
	}
	.top_logo img{
		height: 400px;
	}
	.site-header h1 img{
		width: 250px;
	}

	.wrapper{
		background-size: 40% , 230px;
	}
	.contents_in,.contents_wide{
		padding: 0 10px;
	}
	.left_wrap{
		width: 90%;
		min-width:inherit;
	}
	.right960{
		width: 100%;
		padding: 10px 15px 50px;
	}

	.news_wrap{
		padding: 50px 10px;
	}
	.topic_wrap{
		width: 100%;
	}

	.greeting_wrap .greeting_txt{
		width: 80%;
		max-width: 600px;
	}
	.footer_in{
		padding-left: 10px;
		padding-right: 10px;
	}
	.picup{
		width: 80%;
		align-content: center;
		justify-content: center;
		padding: 20px;
	}
	.picup img{
		display: block;
		width: 100%;
		max-width: 300px;
		margin: auto;
	}
	.picup ul li{
		padding: 0.25em ;
		margin: 5px;
		font-weight: 700;
		border-bottom: solid 1px #efdeb1;
	}
	.contents_mail{
		padding: 10px;
	}
	.tel_button{
		width: 95%;
	}
	input[type='text'] ,input[type='date'] , textarea{
		width: 100% !important;
	}
	#mailform table th,
	#mailform table td{
		display: block;
		width: 100%;
	}
	

}
@media (max-width: 769px){
	.tbpc{
		display: none !important;
	}
	header h1{
		font-size: 2em;
	}
	.site-header h1 img{
		width: 250px;
	}
	.top_copy h2{
		font-size: 1.3em;
	}
	.top_logo img{
		height: 450px;
	}

	.slide_frame{
		background-size: 80%;
	}
	
	.top_slider .slider li.top03{
		background-size:300px , cover ;
		background-position: center bottom 50px, center ;
	}

	.wrapper{
		background-size: 60% , 230px;
	}
	.txt_box h3{
		font-size: 2.9em;
	}
	.flexbox{
		flex-direction: column;
		justify-content: center;
		align-items: center;
	}
	.card002{
		flex-direction: column;
		justify-content: center;
		align-items: center;
		margin-bottom: 30px;
	}
	.card003{
		flex-direction: column;
		justify-content: center;
		align-items: center;
		margin-bottom: 30px;
	}
	.button_wrap_flex{
		flex-direction: column;
		justify-content: center;
		align-items: center;
	}
	.reverse{
		flex-direction: column-reverse;
	}
	
	.txtbox_c70{
		width: 90%;
	}

	/* 各コンテンツ ================================================== */
	
	.greeting{
		
	}
	
	.topic_wrap{
		flex-direction: column;
		height: auto;
		
	}
	.topic_wrap img{
		height: 250px;
		object-fit: cover;
	}

	.grid{
		flex-direction: column;
		align-items: center;
		justify-content:space-around;
	}
	figure.effect-50,figure.effect-3{
		width: 100%;
		margin-bottom: 30px;
	}
	.taisaku_flex{
		flex-wrap: wrap;
	}
	.taisaku_flex div{
		width: calc(100% / 3);
		text-align: center;
		margin-bottom: 30px;
	}
	footer{
		background-position: bottom right -100px;
	}
	footer h2{
		font-size:1.5em;
	}
	.footer_in img{
		width: 260px;
	}
	p.phone_buttom span{
		display: block;
		margin-bottom: 0.5em;
	}
	.picup{
		width: 100%;
		align-content: stretch;
		padding: 20px;
	}
	.photo_flex{
		flex-wrap: wrap;
	}
	.photo_flex .p3m1{
		width: 100%;
	}
	.photo_flex .p4m2{
		width: 50%;
	}
	.txt_wrap{
		bottom:20px;
	}
	.txt_wrap p{
		font-size: 1.1em;
	}

	.line02 table th,.line02 table td{
		display: block;
		width: 100%;
		text-align: left;
		padding: 0.5em 1em;
	}
	.line02 table th{
		border-bottom: none;
	}
	.map{
		width: 100%;
	}
	.button_flow{
		margin: 0.5em auto;
	}
	.flow > li dl{
		padding-left: 50px;
	}
	.flow > li dl::after {
		width: 30px;
	}
	.flow > li dl dd{
		flex-direction: column-reverse;
		justify-content: center;
		align-items: center;
	}
	.flow > li dl dd img{
		padding: 10px;
	}
	
	/* footer追加部分 ================================================== */
	.mr_0605{
		margin-top:16px;
	}


}
@media (max-width: 450px){
	.top_slider .slider li .catch{
		font-size: 2rem;
	}
	.taisaku_flex img{
		width: 100px;
	}
	.flow::before {
		left: 95px;
	}

	.flow > li dl{
		padding-left: 10px;
	}
	.flow > li dl::before{
		left: -28px;
	}
	.flow > li .icon{
		padding: 8px 10px;
	}

	.flow > li dl::after {
		width: 15px;
		left: -10
	}
	
	/* globalMenuSp追加部分 ================================================== */
	.span_0605{
		font-size: 1.1rem;
	}

}