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

@media (max-width: 1200px){
	.site-header{
		height: 80px;
	}
	.site-header h1{
		font-size: 2.5rem;
	}
	.site-header h1 img{
		height: 70px;
	}
	.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;
	}
	.bg_cut01{
		background-size: 250px;
		padding-bottom: 100px;
	}
	.site-header h1{
		margin-left: 10px;
	}
	
	.top_slider .slider li.top01{
		background:url("../img/slide01.jpg") no-repeat;
		background-size: cover;
		background-position: left 30% center;
	}
	.top_slider .slider li.top02{
		background:url("../img/slide04.jpg") no-repeat;
		background-size: cover;
		background-position: center;
	}
	.top_slider .slider li.top03{
		background:url("../img/slide05.jpg") no-repeat;
		background-size: cover;
		background-position: center;
	}
	.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;
	}
	
	.txt_copy01_01{
		font-size: 0.9em;
	}
	.txt_copy02_02{
		font-size: 0.9rem;
	}
	
	.card004{
		flex-direction: column;
		justify-content: center;
		align-items: center;
		margin-bottom: 30px;
	}
	.card004 .img{
		text-align: center;
	}
	.card004 .img img{
		max-width: 600px;
	}
	.card004 .img02 {
		text-align: center;
	}
	.card004 .img02 img{
		max-width: 600px;
	}
	
	.card003{
		flex-direction: column;
		justify-content: center;
		align-items: center;
		margin-bottom: 30px;
	}
	.card001_e figure.event{
	width: calc(100% / 3 - 20px);
	}
	
	.contents_half_r{
		width: 70%;
	}

	.subtitle{
		height: 280px;
	}
	.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%;
	}
	.timetable_wrap{
		flex-direction: column;
	}
	.reverse_960{
		flex-direction: column-reverse;
	}
	.bg_time01,.bg_time02{
		height: 300px;
		background-size: contain;
	}
	.timetable_wrap .inner {
		max-width: 700px;
		margin: auto;
	}
	.wrap80{
		width: 100%;
	}
	.reverse{
		flex-direction: column-reverse;
	}
	
}

/* sp */
@media (max-width: 750px){
	.pctb{
		display: none !important;
	}
	.bg_cut01{
		background-size: 250px;
		padding-bottom: 250px;
		background-position: bottom right 10%;
	}
	.slide_wrap{
		height: 70vh;
		min-height: 600px;
	}
	.top_slider{
		left: 10px;
		width: calc(100% - 20px);
	}
	.top_slider .slider li{
		height: 70vh;
		min-height: 600px;
	}
	.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{
		width: calc(100% - 20px);
		max-width: 500px;
		aspect-ratio: 4 / 3;
	}
	figure.effect-chico figcaption::before {
		top: 20px;
		right: 20px;
		bottom: 20px;
		left: 20px;
	}
	figure.effect-chico img{
		opacity: 0.5;
	}
	figure.effect-chico h3{
		position: absolute;
		top:25px;
		left: 25px;
		font-size: 1.5em;
	}
	figure.effect-chico h4{
		bottom: 25px;
		right: 25px;
	}
	figure.effect-chico p{
		position: absolute;
		top:50px;
		left: 25px;
		right: 25px;
		opacity: 1;
		transform: scale(1);
		line-height: 150%;
		background:rgba(255,255,255,0.35);
	}
	.line02 table th{
		display: block;
		width: 100%;
		border-bottom: none;
		color: #33a7ff;
		text-align: left;
	}
	.line02 table td{
		display: block;
		width: 100%;
		border-bottom: solid 3px #33a7ff;
	}
	
	.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 #ccc;
	}

	p.catch_footer{
		font-size: 1.2em;
		padding: 10px;
	}
	.flex_contents{
		flex-direction: column;
		justify-content: center;
		align-items: center;
	}
	.subtitle h2{
		font-size: 1.2rem;
	}
	.subtitle h2 span{
		font-size: 200%;
	}
	.breadcrumb-box{
		font-size: 90%;
		left: 15px;
	}
	
	/* 流れ======================================== */
	.flow_inner{
		flex-direction: column;
		justify-content: center;
		align-items: center;
	}
	.flow_txt{
		width: 100%;
	}
	.h_number{
		left: -50px;
	}
	
	.card001_e figure.event{
		width: calc(100% / 2 - 20px);
	}
	
	.flow_wrap02 dl,.flow_wrap03 dl{
		flex-direction: column;
		justify-content: center;
		align-items: center;
	}
	.flow_wrap02 dt,.flow_wrap03 dt{
		margin-bottom: 1rem;
	}

	
	/* メールフォーム======================================== */
	.contact_top ul{
		flex-direction: column;
	}
	.contact_top ul li{
		margin: 10px;
	}
	.contact_top ul li :last-child{
		margin: 10px;
	}
	.mailform{
		padding: 10px;
	}
	input[type='text'] ,input[type='date'] , textarea{
		width: 100% !important;
	}
	.tel_button{
		width: 100%;
		max-width: 600px;
	}
	.tel_button a{
		width: 100%;
	}


}
@media (max-width: 450px){
	.bg_recruit{
		width: 100%;
	}
	figure.effect-chico h4{
		bottom: 20px;
	}
	.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;
	}
	.notes dl dt{
		width: calc(100% - 5em);
	}
	.notes dl dd{
		width: 5em;
		text-align: right;
	}

}