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

@media (max-width: 1199px){
	.pc{
		display: none !important;
	}
	section.contents{
		padding: 50px 10px;
	}
	.w1366{
		width: 100%;
		margin: auto;
	}
	.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;
	}
	.bg_inner_w{
		padding: 20px;
	}
	.slide_wrap::after{
		background-size: auto;
	}
	/* flex-box==================== */
	.card001{
		flex-direction: column;
		justify-content: center;
		align-items: center;
		margin-bottom: 30px;
	}
	.card001 figure{
		width: calc(100% - 20px);
	}
	.card001 figcaption{
		max-width: 450px;
		margin: auto;
	}
	.card001_b figure.season{
		width: calc(100% / 2  - 20px);
	}

	.card002{
		flex-direction: column;
		justify-content: center;
		align-items: center;
		margin-bottom: 30px;
	}
	.card003{
		flex-direction: column;
		justify-content: center;
		align-items: center;
		margin-bottom: 30px;
	}
	.reverse{
		flex-direction: column-reverse;
	}
	.flex_footer{
		flex-direction: column;
		justify-content: center;
		align-items: center;
	}
	.footer_in{
		max-width: 400px;
		margin-bottom: 30px;
	}


	.top_copy{
		top:50%;
	}
	.figure-slide-01{
		height: 500px;
		background-position: left center;
	}

	.contents_in{
		padding: 0 10px;
	}
	.flex_contact{
		flex-direction: column;
		justify-content: center;
		align-content: center;
	}
	.subtitle{
		height: 200px;
	}
	.grid figure.linkeffect{
		margin: 10px;
		width: calc(100% / 2 - 20px);
	}
	.subtitle h2{
		font-size: 2.5rem;
	}
	
	.btn_wrap{
		flex-direction: column;
		justify-content: center;
		align-items: center;
	}
	.btn_wrap .btn02{
		max-width: 400px;
	}

	input[type='text'] ,input[type='date'] , textarea{
		width: 100% !important;
	}
	#mailform table th,
	#mailform table td{
		display: block;
		width: 100%;
	}
	.rec_wrap table{
		width: 100%;
	}
	.flex_contents{
		flex-direction: column;
		justify-content: center;
		align-items: center;
	}
	.flex_contents .f_inner{
		margin-bottom: 50px;
	}
}

@media (max-width: 750px){
	.pctb{
		display: none !important;
	}
	.slide_wrap{
		height: 500px;
	}
	.top_slider .slider li{
		height: 500px;
	}
	.top_slider .slider li.top01{
		background-position: center right 30%;
	}
	.slide_catch{
		bottom: 10%;
		background-size: 150px;
	}
	.sp_contact{
		display: block;
	}
	footer small p{
		padding-bottom: 60px;
	}
	
	.txt_lv02 span{
		font-size: 200%;
	}
	.txt_catch01{
		font-size: 1.2em;
		line-height: 150%;
	}
	.grid {
		flex-direction: column;
		justify-content: center;
		align-items: center;
	}
	.grid figure.linkeffect{
		width: calc(100% - 20px);
		max-width: 400px;
	}
	.grid figure.linkeffect figcaption h3{
		font-size: 1.5rem;
	}
	.wrap80 p{
		padding: 0 1rem;
	}

	.flex_contact{
		flex-direction: column;
	}
	.button_wrap_contact{
		flex-direction: column;
		justify-content: center;
		align-items: center;
	}
	
	.subtitle h2{
		font-size: 2rem;
	}

	
	.flex_services{
		flex-direction: column;
		align-items: center;
	}
	.services_txt{
		width: 100%;
		padding: 1em 0;
	}
	.services_img{
		min-width: 250px;
	}
	.services table{
		margin: 0 0 10px;
	}
	/* 流れ======================================== */
	.flow_inner{
		flex-direction: column;
		justify-content: center;
		align-items: center;
	}
	.flow_txt{
		width: 100%;
		margin-top: 30px;
	}
	.h_number{
		left: -50px;
	}
	/* テーブル======================================== */
	.line02 table th,.line02 table td{
		display: block;
		width: 100%;
		text-align: left;
	}
	.line02 table th{
		color: #eaa097;
		border-bottom: none;
	}
	
	
	.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;
	}
	.table_type01 table td{
		padding: 0.5em 0;
	}
	
	/* メールフォーム======================================== */
	.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%;
	}
	.card001_b{
		flex-direction: column;
		justify-content: center;
		align-items: center;
		width: 100%;
		max-width: 500px;
		margin: auto;
	}
	.card001_b figure.season{
		display: block;
		align-self: center;
		width: calc(100% - 20px );
	}
	
	.card002_time{
		flex-direction: column;
		justify-content: center;
		align-items: center;
	}

}
@media (max-width: 450px){
	#header h1 img{
		width: 250px;
	}
	.subtitle{
		background-size: auto 50%;
	}
	.subtitle h2{
		text-shadow: 3px 3px 5px rgba(0,0,0,0.3);
	}
	.slide_catch{
		left: 5%;
	}

	.grid {
		flex-direction: column;
		justify-content: center;
		align-items: center;
	}
	.grid figure.linkeffect{
		width: calc(100% - 20px);
	}
	.flow_link{
		flex-direction: column;
	}
	.h_number{
		left: -20px;
		line-height: 70px;
		width: 70px;
	}
	
	#mailform{
		padding: 10px 0;
	}
	.timeline .timeline_inner::before{
		left: 30px;
	}
	.timeline .timeline_inner dt{
		width: 70px;
    	height: 70px;
    	line-height: 70px;
		font-size: 0.9rem;
	}
	.timeline .timeline_inner dd{
		left: -10px;
		padding: 15px 10px 15px 20px;
	}
}