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

@media (max-width: 1200px){
	.site-header{
		height: 80px;
	}
	.site-header h1{
		font-size: 2.5rem;
	}
	.site-header h1 img{
		width: 300px;
	}
	.top_nav{
		display: none;
	}
	figure.effect-chico{
		width: calc(100% / 2 - 20px);
	}
	.icon_flex{
		flex-wrap: wrap;
	}
	.icon_flex li{
		width: calc(100% / 4 - 20px);
	}
}

/* Tablet */
@media (max-width: 959px){
	.pc{
		display: none !important;
	}
	.contents{
		padding: 50px 0;
	}
	.bg_cut01{
		background-size: 250px;
		padding-bottom: 100px;
	}
	.site-header h1{
		margin-left: 10px;
	}
	.footer_wrap{
		flex-direction: column;
		align-items: center;
		justify-content: center;
	}
	.card001{
		flex-direction: column;
		justify-content: center;
		align-items: center;
		margin-bottom: 30px;
	} 
	
	.card002{
		flex-direction: column;
		justify-content: center;
		align-items: center;
		margin-bottom: 30px;
	}
	.card002 .img{
		text-align: center;
	}
	.card002 .img img{
		max-width: 600px;
	}
	.card002 .txt{
		padding: 15px;
	}
	
	.card003{
		flex-direction: column;
		justify-content: center;
		align-items: center;
		margin-bottom: 30px;
	}
	
	.contents_half_r{
		width: 70%;
	}
	.contents_link{
		max-width: 700px;
	}

	.subtitle{
		height: 280px;
	}
	.sub_bg{
		background-size: auto 200px, cover;
	}

	.wrap80{
		padding: 0 5%;
	}
	.reverse{
		flex-direction: column-reverse;
	}
	/* 流れ======================================== */
	.flow_inner{
		width:100%;
		max-width: 680px;
	}
	.flow_photo{
		width: 270px;
		height: 200px;
	}
	.flow_photo img{
		width: 270px;
		height: 200px;
	}
	
	#mailform table th,#mailform table td{
		display: block;
		width: 100%;
		padding: 1em;
	}
	#mailform .checkbox{
		margin-bottom: 0.5em;
	}
	
}

/* sp */
@media (max-width: 750px){
	.pctb{
		display: none !important;
	}
	.slide_wrap{
		height: 70vh;
		min-height: 600px;
	}
	.top_slider{
		left: 0;
		width: 100%;
	}
	.top_slider .slider li{
		height: 70vh;
		min-height: 600px;
	}
	
	.slide_copy{
		position: absolute;
		bottom: 6%;
		left: 0;
		width: 90%;
	}
	.slide_copy2{
		right: 1%;
	}
	.slide_copy2 img{
		width: 80%;
		max-width: 400px;
	}
	.news{
		flex-direction: column;
		justify-content: center;
		align-content: center;
	}
	.news h3{
		border-right:none;
		padding: 10px;
	}
	.news_in{
		width: 100%;
		padding: 10px;
	}
	.icon_flex{
		flex-wrap: wrap;
	}
	.icon_flex li{
		width: calc(100% / 3 - 20px);
	}
	
	.contents_half_r{
		width: 100%;
	}
	.bg_recruit{
		background-size: 80%;
		min-height: 600px;
		padding-bottom: 200px;
	}

	.contents_link{
		flex-direction: column;
		align-items: center;
		justify-content:space-around;
		max-width: 100%;
		margin: auto;
	}
	figure.effect-chico p{
		position: absolute;
		opacity: 1;
		transform: scale(1);
		line-height: 150%;
	}
	.line02 table th{
		display: block;
		width: 100%;
		border-bottom: none;
		text-align: left;
	}
	.line02 table td{
		display: block;
		width: 100%;
		border-bottom: solid 2px #e62ea8;
	}
	
	.line02 dl{
		flex-direction: column;
		align-self: flex-start;
		justify-content: flex-start;
	}
	.footer_contact{
		flex-direction: column;
	}
	.footer_contact .border{
		border-left: none;
		border-top: dashed 1px #fff;
	}

	p.catch_footer{
		font-size: 1.2em;
		padding: 10px;
	}
	.flex_contents{
		flex-direction: column;
		justify-content: center;
		align-items: center;
	}

	.sub_bg{
		background-size: auto 160px, cover;
	}
	.breadcrumb-box{
		font-size: 90%;
		left: 15px;
	}
	
	/* 流れ======================================== */
	.flow_inner{
		flex-direction: column;
		justify-content: center;
		align-items: center;
	}
	.flow_txt{
		width: 100%;
		margin-top: 30px;
		padding: 10px;
	}
	.h_number{
		left:-70px;
		top:15px;
	}
	
	/* メールフォーム======================================== */
	#mailform{
		padding: 10px 0;
	}
	#mailform table th,#mailform table td{
		padding: 1em 0;
	}
	.photo_flex{
		flex-direction: column;
		justify-content: center;
		align-items: center;
	}
	.photo_flex div img{
		display: block;
		max-width: 450px;
		margin: auto;
	}

}
@media (max-width: 450px){
	.site-header h1 img{
		width: 270px;
	}
	.wrap80{
		padding: 0;
	}
	.contents_link{
		flex-direction: column;
		padding: 10px;
	}
	.icon_flex li{
		width: calc(100% / 2 - 20px);
	}
	.simple01 table th,.simple01 table td{
		display: block;
		width: 100%;
	}
	.simple01 table th{
		padding: 1em 1em 0.5em;
	}
	.simple01 table td{
		padding:0.5em 1em 1em;
	}
	.tel_number{
		font-size: 2rem;
	}
	.h_number{
		left:-40px;
		top:-30px;
	}
	.txt_lv02{
		font-size: 1.5rem;
	}


}