@charset "UTF-8";
/* CSS Document */
@media (max-width: 1200px){
	.pc_onry{
		display: none !important;
	}
	.site-header h1{
		margin-left: 10px;
	}
	.slide_frame{
		background-size: 50px;
	}

	.f_revers{
		flex-direction: column-reverse;
	}
	.left_wrap{
		background: rgba(255,255,255,0.65);
		width: calc(100% - 50px);
		min-width: 900px;
		margin-bottom: 50px;
		border-radius: 0 20px 20px 0;
	}
	.right960{
		width: 100%;
		max-width: 100%;
		margin: auto;
		padding: 50px 20px;
	}
	
	.greeting_in{
		width: 100%;
		height: inherit;
	}
	.txt_wrap_left,.txt_wrap_right{
		width: 100%;
		margin:0 ;
	}

	.greeting_btn{
		width: 90%;
		max-width: 400px;
	}
	footer{
		background-size: 90%;
	}
}

/* Tablet */
@media (max-width: 959px){
	.pc{
		display: none !important;
	}
	.site-header{
		height: 90px;
		border-radius: 0 0 30px 30px;
	}
	.site-header .title_wrap{
		border-bottom: none;
	}
	.site-header.transform{
		height: 90px;
	}
	.site-header.transform .title_wrap{
		display: block;
		border-bottom: none;
	}
	.slide_frame{
		background-size: 30px;
	}
	.slide_txt{
		left: 20px;
	}
	.slide_txt h2{
		width: calc(100% - 30px);
		font-size: 1.3rem;
		line-height: 150%;
	}
	.greeting h2{
		font-size: 1.3em;
		background-position: left top;
		background-size:auto 30px;
		padding: 30px 0 0;
	}
	.greeting_wrap{
		padding-bottom: 200px;
		background-size: 130%;
		background-position: right bottom;
	}
	.left_wrap{
		width: 90%;
		min-width:inherit;
	}
	.right960{
		width: 100%;
		padding: 10px 15px 50px;
	}
	.news{
		padding: 20px;
		width: calc(100% - 20px);
		margin: 50px 10px;
	}
	.flex_contents02{
		max-width: 800px;
		margin: auto;
	}
	.flex_contents02 figure{
		width: calc(100% / 2 - 30px);
	}
	.contents_type01 h3{
		font-size: 1.5em;
	}
	.recruit_wrap{
		flex-direction: column;
		justify-content: center;
		align-content: center;
	}

	.subtitle{
		height: 300px;
	}
	.subtitle h2{
		display: block;
		font-size: 2em;
		white-space: nowrap;
	}
	.sub_bg{
		border-radius: 0 0 30px 30px;
	}
	
	.breadcrumb-box{
		font-size: 80%;
		left: 50px;
		bottom: 50px
	}
	.photo_flex .in_v{
		height: 150px;
	}

	.right_box{
		width: 100%;
	}
	.right_box img{
		display: block;
		padding: 30px 10px;
		width: 100%;
	}
	.sub_recruit{
		background-size: 120%;
		padding: 50px 10px;
	}
	.sub_recruit p{
		width: 100%;
	}
	.contents_mail{
		padding: 10px;
	}
	.tel_button{
		width: 95%;
	}
	#mailform {
		padding: 0;
	}
	input[type='text'] ,input[type='date'] , textarea{
		width: 100% !important;
	}
	#mailform table th,
	#mailform table td{
		display: block;
		width: 100%;
		padding: 0.5em;
	}
	.pict li img{
		width: 160px;
		height: 160px;
	}
	.staff_wrap figure{
		width: calc(100% / 2 - 20px);
		margin: 10px;
	}
	.card01 ul {
		flex-wrap: wrap;
	}
	.card01 ul li{
		width: calc(100% / 2 - 20px);
	}
	.flex_list{
		flex-direction: column;
	}
	.flex_list li{
		width: 100%;
		margin-bottom: 30px;
	}
	.areamap{
		flex-direction: column;
		align-items: center;
		justify-content: center;
	}
	.areamap div{
		margin-bottom: 30px;
	}
	/* フロー======================================== */
	.flow_inner{
		flex-direction: column;
		justify-content: center;
		align-items: center;
	}
	.flow_txt{
		width: 100%;
	}

}

/* sp */
@media (max-width: 768px){
	.pctb{
		display: none !important;
	}
	
	.border{
		background-size: 90%;
	}
	.news{
		flex-direction: column;
		justify-content: center;
		align-content: center;
	}
	.news h3{
		border-right:none;
		padding: 10px;
	}
	.news_in{
		width: 100%;
		padding: 10px;
	}

	.left_wrap{
		width: 100%;
		border-radius: 0;
	}
	
	.contents_link{
		flex-direction: column;
		align-items: center;
		justify-content:space-around;
	}
	figure.effect-chico{
		width: 90%;
		margin-bottom: 30px;
	}
	figure.effect-chico h4 {
		font-size: 1.5em;
	}
	.contents_miryoku{
		padding: 50px 10px;
	}

	.footer_in ul{
		margin: auto;
		max-width: 300px;
	}
	p.catch_footer{
		font-size: 1.2em;
		padding: 10px;
	}
	.flex_contents{
		flex-direction: column;
		justify-content: center;
		align-items: center;
	}
	.flex_contents .txt{
		width: 100%;
	}
	.flex_contents .img{
		width: 100%;
		max-width: 400px;
	}
	.subtitle{
		height: 250px;
	}
	.breadcrumb-box{
		left: 30px;
		bottom: 40px;
	}
	.txt_box h2{
		font-size: 1.8em;
	}
	.photo_flex{
		flex-direction: column;
		justify-content: center;
		align-items: center;
	}
	.photo_flex .in_v{
		width: 180px;
		height: auto;
		padding: 10px;
	}
	.photo_flex .in_v img{
		width: 100%;
		height: auto;
	}
	.pict li img{
		width: 130px;
		height: 130px;
		padding: 0;
	}
	.line02{
		padding: 20px 10px;
	}
	.line02 table td{
		display: block;
		width: 100%;
		padding: 0.5em;
		border-bottom:#b4d95d solid 3px;
	}
	.line02 table th{
		display: block;
		text-align: left;
		border-bottom: none;
		color: #00a75b;
		padding: 0.5em;
	}
	/* 流れ======================================== */
	.flow_inner{
		flex-direction: column;
		justify-content: center;
		align-items: center;
	}
	.flow_txt{
		width: 100%;
	}
	
	.areamap img{
		height: auto;
		width: 100%;
		max-width: 400px;
	}
	
	/* メールフォーム======================================== */
	.mailform{
		padding: 10px 0;
	}
	input[type='text'] ,input[type='date'] , textarea{
		width: 100% !important;
	}
	.tel_button{
		width: 100%;
		max-width: 600px;
	}
	.tel_button a{
		width: 100%;
	}
	/* ======================================== */
	.staff_wrap{
		padding-bottom: 200px;
	}
	.staff_wrap figure{
		width:  calc(100% - 20px);
		max-width: 400px;
		margin: 10px auto;
	}
	.staff_wrap figure img{
		width: 250px;
		height: 250px;
	}
	.card01 ul{
		flex-direction: column;
	}
	.card01 ul li{
		width: 100%;
	}
	.bg_cut01,.bg_cut02{
		background-size: auto 250px;
		padding-right: 10px;
		padding-bottom: 260px;
	}
	.area_map{
		flex-direction: column;
		justify-content: center;
		align-items: center;
		padding: 15px;
		background: rgba(255,255,255,0.55);
	}
	
}
@media (max-width: 450px){
	.site-header h1{
		margin-top: 10px;
		
	}
	.site-header h1 img.mark{
		width: auto;
		height: 55px;
		margin-top: 5px;
	}
	.site-header h1 img.logo{
		width: auto;
		height: 55px;
		margin-top: 5px;
	}
	.bg_001{
		background-size: 90%;
	}
	.greeting_wrap{
		height: inherit;
	}
	.footer_in{
		padding: 50px 10px;
	}
	.flex_contents02{
		flex-direction: column;
		justify-content: center;
		padding-bottom: 100px;
	}
	.flex_contents02 figure{
		width: calc(100% - 30px);
	}
	.staff_wrap{
		flex-direction: column;
		justify-content: center;
		align-content: center;
	}
	.area_map div img{
		width: 250px;
	}
	.pict li{
		padding: 5px;
		width: calc(100% / 3);
	}
	.pict li img{
		width: 100%;
		height: auto;
		aspect-ratio:1/1;
		object-fit: contain;
		padding: 0;
	}
	
}

