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

@media (max-width: 1200px){
	.pc{
		display: none !important;
	}
	section.contents{
		padding: 50px 0;
	}
	.w1366{
		width: calc(100% - 30px);
		margin: auto;
	}
	.wrap80{
		padding: 0 5%;
	}
	.site-header{
		height: 80px;
	}
	.site-header h1 img{
		width: 300px;
	}
	.greeting{
		flex-direction: column;
	}
	.f_revers{
		flex-direction: column-reverse;
	}
	.greeting_in{
		width: 100%;
		height: inherit;
	}
	.bg_map{
		background-position: right;
		background-size: auto 100%;
	}
	.txt_wrap_left,.txt_wrap_right{
		width: 100%;
		max-width: 800px;
		margin:30px auto;
	}
	
	.greeting_txt_wrap{
		padding: 3em 1.5em;
	}

	footer{
		background-size:cover;
		background-position: center
	}
	
	.footer_flex{
		flex-direction: column-reverse;
		width: 100%;
		justify-content: center;
	}
	.card002_link{
		flex-direction: column;
		justify-content: center;
		align-items: center;
	}
	.card002_link .txt{
		width: 100%;
		max-width: 960px;
	}
	.contents_link{
		padding: 50px 15px;
	}
	.bg_inner_w{
		background: rgba(255,255,255,0.75);
		padding: 50px 20px;
	}
	.flow_inner{
		width:100%;
		max-width: 680px;
	}
	.flow_photo{
		width: 270px;
		height: 200px;
	}
	.flow_photo img{
		width: 270px;
		height: 200px;
	}
	.flow_link{
		flex-direction: column;
		justify-content: flex-start;
	}

}
@media (max-width: 959px){
	
	.w960{
		padding: 0 10px;
	}
	.slide_copy{
		position: absolute;
		top: 15%;
		right: 15%;
		transform: none;
		text-align: center;
		z-index: 2;
	}

	.slide_copy img{
		width: auto;
		height: 60vh;
		max-height: 500px;
		filter: drop-shadow(2px 2px 3px rgba(0,0,0,0.3));
	}
	figure.effect-chico h4 span.en{
		font-size: 180%;
	}
	/* flex-box==================== */
	.card002{
		flex-direction: column;
		justify-content: center;
		align-items: center;
		margin-bottom: 30px;
		
	}
	.card002 .img{
		max-width: 500px;
		padding: 15px;
	}
	.card003{
		flex-direction: column;
		justify-content: center;
		align-items: center;
		margin-bottom: 30px;
	}
	.card003 .txt{
		width: 100%;
	}
	.reverse{
		flex-direction: column-reverse;
	}

	.flex_contact{
		flex-direction: column;
		justify-content: center;
		align-content: center;
	}
	.btn_wrap{
		flex-direction: column;
		justify-content: center;
		align-items: center;
	}
	.btn_wrap .btn02{
		max-width: 400px;
	}
	.bg_map{
		min-height: 450px;
		background-position: right bottom;
		background-size: 80%;
	}
	.contents_link div{
		width: calc(100% / 3 - 10px);
	}
	
	.grid{
		flex-wrap: wrap;
	}
	.grid figure{
		width: calc(100% / 2 - 20px);
	}
	.footer_contact{
		flex-direction: column;
		justify-content: center;
		align-items: center;
	}
	footer{
		background-size: auto;
		background-position: left bottom;
	}

	#mailform{
		padding: 0;
	}
	#mailform table th,#mailform table td{
		display: block;
		width: 100%;
		padding: 1em;
	}
	.map_wrap{
		flex-direction: column;
		justify-content: center;
	}
	.cp_timeline04{
		background-position: center center;
		background-size: 90%;
	}
	.icon_flex div{
		padding: 15px 8px;
	}
	
}
@media (max-width: 750px){
	.pctb{
		display: none !important;
	}
	.txt_lv02 span{
		font-size: 200%;
	}
	.txt_catch01{
		font-size: 1.2em;
		line-height: 150%;
	}
	
	.button_wrap_contact{
		flex-direction: column;
		justify-content: center;
		align-content: center;
	}
	.txt_wrap_right70{
		width: 100%;
		padding: 10px;
	}


	.footer_in{
		display: block;
		width: 100%;
		margin: auto;
	}
	
	.contents_link{
		flex-direction: column;
		justify-content: center;
		align-items: center;
		max-width: 500px;
		margin: auto;
		padding: 30px 10px;
		background-position: right 10% bottom 0;
		background-size: 170px;
	}
	.contents_link div{
		width: 100%;
	}
	figure.effect-chico,
	figure.effect-chico img {
		aspect-ratio: 16 / 9;
	}
	figure.effect-chico h4 {
		writing-mode:horizontal-tb;
	}
	
	.grid{
		flex-direction: column;
		align-items: center;
		justify-content: center;
	}
	.grid figure{
		width: calc(100% - 20px);
		max-width: 300px;
	}
	
	dl.border02{
		flex-direction: column;
		justify-content: flex-start;
	}
	dl.border02 dd{
		text-align: left;
	}
	.footer_inner p{
		font-weight: 400;
		font-size: 0.75rem;
	}
	
	.timeline{
		width: 100%;
		margin: auto;
	}
	.timeline .timeline_inner dd{
		padding: 15px 10px 15px 15px;
	}
	.timeline_inner h4{
		font-size: 1em;
	}
	.timeline_inner p{
		font-size: 0.9rem;
	}
	
	.sub_bg02{
		background-position: left;
	}


}
@media (max-width: 450px){
	.site-header h1 img{
		width: 250px;
	}
	.footer_contact .phone .nb{
		font-size: 1.5rem;
	}
	footer h2 {
	text-align: center;
	}
	footer small p{
		font-size: 0.75em;
	}
	.greeting_in{
		padding: 15px 10px;
	}
	.txt_wrap_left,.txt_wrap_right{
		width: 100%;
		max-width: 800px;
		margin:30px auto;
	}
	.tel_button .phone .nb{
		font-size: 1.5rem;
	}
	
	#mailform table th{
		padding: 1em 0 0.5em;
	}
	#mailform table td{
		padding: 0.5em 0 1em;;
	}
	
	.note{
		padding: 30px 0;
	}
	.wrap80{
		padding: 0;
	}
	.flow_link{
		flex-direction: column;
	}
	.h_number{
		left: -20px;
		line-height: 70px;
		width: 70px;
	}
	.icon_flex{
		flex-direction: column;
		justify-content: center;
		align-items: center; 
		max-width: 300px;
		margin: auto;
	}
	.icon_flex div{
		width: 100%;
		
	}
	

}
