@charset "UTF-8";
/* CSS Document */
@media (max-width: 1280px){
	.header_title h1 img{
		width: 360px;
	}
	.header_title.resize h1 img{
		width: 260px;
		transition: .5s;
	}
	.slider{
		left: 20%;
		width: 75%;
	}
	.catch_wrap .catch_img01{
		bottom: 25%;
	}
	.catch_wrap .catch_img02{
		bottom: 12%;
		left:30px;
	}
	
	.contents_link{
		flex-direction: column;
		justify-content: center;
		align-items: center;
	}
	.self_left{
		align-self: flex-start;
	}
	.self_right{
		align-self: flex-end;
	}
	.contents_link{
		max-width: 960px;
		margin: auto;
	}
	figure.effect-chico{
		width: calc(100% - 30px);
		max-width: 600px;
	}
	.card002 .txt{
		padding: 10px 8%;
	}
	.bg_img02{
		background-position: bottom 0 right 18%;
	}
	.flow_inner{
		width:100%;
		max-width: 680px;
	}
	.flow_photo{
		width: 270px;
		height: 200px;
	}
	.flow_photo img{
		width: 270px;
		height: 200px;
	}
	
}
@media (max-width: 959px){
	.pc{
		display: none !important;
	}
	.slide_wrap{
		height: calc(90vh - 70px);
		min-height: 500px;
	}
	.slider{
		height: calc(90vh - 170px);
		left: 5%;
		width: 90%;
	}
	.catch_wrap .catch_img01{
		bottom: 20%;
		max-width: 500px;
	}
	.catch_wrap .catch_img02{
		bottom: 8%;
		max-width: 500px;
	}
	.bg_in_w_sp{
		background:rgba(255,255,255,0.75);
		padding: 20px;
	}
	header .change.transform{
		background: rgba(255,255,255,1.0);
		height: 70px;
	}
	.contents_in{
		padding: 10px;
	}
	.greeting{
		flex-direction: column;
	}
	.greeting_in{
		width: calc(100% - 10px);
	}
	.bg_img01,.bg_img02,.bg_img03{
		min-height: 350px;
	}
	.bg_img02{
		background-position: bottom center;
	}
	.txt_wrap_left{
		width: 100%;
	}
	
	.card002{
		flex-direction: column;
		justify-content: center;
		align-items: center;
		margin-bottom: 10px;
	}
	.card002 .img{
		max-width: 500px;
	}
	.card002 .txt,.card002 .txt5{
		width: 100%;
		padding: 15px;
		flex: auto;
	}
	
	.card003{
		flex-direction: column;
		justify-content: center;
		align-items: center;
		margin-bottom: 30px;
	}
	.card003 div{
		width: 100%;
	}
	.card003 .txt{
		width: 100%;
		padding: 15px;
		flex: auto;
	}

	.reverse{
		flex-direction: column-reverse;
	}
	.reverse1{
		flex-direction: column;
	}


	.subtitle{
		height: 300px;
	}
	.mailform{
		padding: 30px 10px;
	}
	input[type='text'] ,input[type='date'] , textarea{
		width: 100% !important;
	}
	#mailform table th,
	#mailform table td{
		display: block;
		width: 100%;
	}
	.map iframe{
		aspect-ratio: 2 / 1;
	}
	.staff_wrap{
		display: flex;
	}
	.staff_wrap figure{
		width: 100%;
		max-width: 700px;
		margin: 0 auto 30px;
	}
	.staff_wrap figure img{
		width: 200px;
		height: 200px;
	}
	.card001 figure{
		width: calc(100% / 2 - 20px);
	}
	.anchor_link{
		top:70px;
	}
	.fee_wrap dl{
		width: calc(100% / 3);
	}

}
@media (max-width: 750px){
	.tbpc{
		display: none !important;
	}
	
	.slide_wrap{
		height: calc(90vh - 70px);
		min-height: 500px;
	}
	.slider{
		height: calc(90vh - 170px);
		min-height: 400px;
		left: 0;
		width: 100%;
		border-radius: 0;
	}
	
	.catch_wrap{
		width: 100%;
		max-width: 600px;
		padding: 10px;
		margin: auto;
	}
	.catch_wrap .catch_img01{
		width: calc(100% - 60px);
		left: 15px;
		bottom: 20%;
		max-width: 500px;
	}
	.catch_wrap .catch_img02{
		width: calc(100% - 60px);
		left: 50px;
		bottom: 8%;
		max-width: 500px;
	}
	
	.bg_point01{
		background-size: 350px;
	}
	
	.txt_lv02{
		font-size: 1.6em;
	}
	.txt_lv03{
		font-size: 1.1em;
	}
   .txt_lv06{
		font-size: 1.3em;
	}
	.contents_in{
		width: calc(100% - 20px);
		margin: auto;	
		padding: 10px;
	}
	.txt_wrap_right{
		width: 100%;
		max-width: 400px;
		background: rgba(255,255,255,0.49);
		padding: 20px;
	}

	.map iframe{
	vertical-align: middle;
	width: 100%;
	aspect-ratio: 3 / 1;
	min-height: 250px;
	
}

	/* コンテンツ ================================================== */
	.contents{
	padding: 30px 0;
	width: 100%;

}
	
	.contents_link{
		flex-direction: column;
		justify-content: center;
		align-items: center;
	}
	
	figure.effect-chico p{
		opacity: 1;
		-webkit-transform: scale(1);
		transform: scale(1);
		bottom: 50px;
		left: 0;
		padding: 0.25rem 1.5rem;
		background:#fff;
		color: #736357;
		border-radius: 0 30px 30px 0;

	}
	.card001{
		flex-direction: column;
		justify-content: center;
		align-items: center;
		margin-bottom: 30px;
	}
	.card001 figure{
		width: calc(100% - 20px);
		max-width: 350px;
	}
	.card004{
		flex-direction: column;
		justify-content: center;
		align-items: center;
		margin-bottom: 30px;
	}
	.card004 figure{
		width: calc(100% - 20px);
		max-width: 350px;
	}

	.card005{
		display: block;
		flex-direction: column;
		justify-content: center;
		align-items: center;
		margin-bottom: 30px;

	}
	.card005 figure{
		width: calc(100% - 20px);
		max-width: 350px;
	}
	
					 
	/* フッター ================================================== */
	footer{
		background-size: 
			150px,
			400px;
		background-position:
			right 15px bottom 60px,
			center;
	}
	footer h2 img{
		width: 320px;
	}
	.sub_copy{
		top:45%;
	}
	.sub_copy h2{
		font-size: 1.5rem;
	}
	
	.picup{
		width: 100%;
		align-content: stretch;
		padding: 20px;
	}
	.button_wrap_tel{
		width: 95%;
		max-width: 500px;
	}
	.bg_in_w{
		padding: 10px;
	}
	#mailform{
		padding: 20px 10px;
	}
	
	.line02 table th{
		display: block;
		width: 100%;
		color: #736357 ;
		border-bottom: none;
		text-align: left;
		padding-bottom: 0.5em;
	}
	.line02 table td{
		display: block;
		width: 100%;
		padding-top: 0.5em;
		border-bottom :solid 3px #e22d95;
	}
	
	.txt_point03{
	color: #06A800;
	font-weight: 700;
	font-size: 90%;
}
	.txt_point02{
	color: #e22d95;
	font-weight: 700;
	font-size: 100%;
}
	/* 流れ======================================== */
	.flow_inner{
		flex-direction: column;
		justify-content: center;
		align-items: center;
	}
	.flow_txt{
		width: 100%;
		margin-top: 30px;
	}
	.h_number{
		left: -50px;
	}
	.anchor_link ul li{
		width: 100%;
	}
	
	.fee_wrap dl{
		width: calc(100% / 2);
	}

}

}
@media (max-width: 450px){
	.header_title h1 img{
		width: 260px;
	}
	.header_title.resize h1 img{
		width: 220px;
		transition: .5s;
	}
	.txt_lv02{
		font-size: 1.4em;
		margin: 0 auto;
		padding: 1rem 0 1rem 2rem;
	}
	
	.greeting_in{
		width: 100%;
		padding: 20px 10px 10px;
	}

	.contents{
	padding: 20px 0;
	width: 100%;

}
	.contents_in{
		width: 100%;
		margin: 0;
		padding: 10px ;
	}
	.link_area ul.footer_nav{
		display: none;
	}
	#mailform table td{
		padding: 0.5em;
	}
	#mailform .radio{
		padding: 0;
	}
	.flow_link{
		flex-direction: column;
	}
	.h_number{
		left: -20px;
		line-height: 70px;
		width: 70px;
	}
	.li_type01{
		padding-left: 0;
		margin-left: 1em;
	}
	.li_type01 li{
		text-indent: -1em;
		padding-left: 1em;
	}
	.fee_wrap dl{
		width: calc(100% / 2);
		font-size: 85%;
	}
	
}
