@charset "utf-8";
/* CSS Document */
@media all{
		
/* ファーストビュー */
	#firstimage{
		width: 100%;
		height:24vw;
	}
	#firstimage .text{
		position: absolute;
		width: 100%;
		top: 12vw;
		left: 0;
		transform: translateY(10%);
		-webkit-transform: translateY(10%);
		-ms-transform: translateY(10%);
		color: #fff;
		text-align: center;
		letter-spacing: .1em;
	}
	#firstimage .fvimage{
		width: 100%;
		height: 100%;
	}
	
/* フォーム */
	#formarea{
		padding: 80px 0;
	}
	#formarea p{
		font-size: 1.2rem;
		line-height: 1.8;
		text-align: center;
		margin-bottom: 40px;
	}
	#mfbox{
		width: calc(100% - 40px);
		max-width: 880px;
		margin: 0 auto;
	}
	div#mfp_phase_confirm{
		width: 100%;
		max-width: 880px;
		margin: 0 auto;
	}
	.mailform {
		width: 100%;
		display: flex;
		flex-wrap: wrap;
		font-size: 1.8rem;
	}
	.mailformstep {
		display: block;
		width: calc(100% - 40px);
		max-width: 880px;
		margin: 0 auto 60px;
	}
	.mailform dt{
		width: 12em;
		padding-top: 1em;
	}
	.mailform dt span.hissu{
		font-size: 1.4rem;
		background: #000;
		color: #fff;
		display: inline-block;
		padding: 0.1em 0.5em;
		margin-right: 1em;
	}
	.mailform dd{
		width: calc(100% - 12em);
		margin-bottom: 15px;
	}
	.mailform dd input,
	.mailform dd textarea {
		font-size: 1.5rem;
		width: 100%;
		padding: 1.5em;
	}
	.mailform dd select {
		font-size: 1.5rem;
		width: 100%;
		padding: 1.5em;
	}
	.mfp_buttons {
		width: 100%;
		font-size: 1.8rem;
		padding-left: 12em;
		box-sizing: border-box;
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
	}
	.mfp_buttons button {
		cursor: pointer;
	}
	.mfp_buttons button.smt,
	div.mfp_buttons button#mfp_button_send{
		width: calc(100% - 180px);
		height: 4em;
		color: #fff;
		box-sizing: border-box;
		border: none;
		transition: .3s;
	}
	.mfp_buttons button.smt,
	div.mfp_buttons button#mfp_button_send {
		background: #595959;
	}
	.mfp_buttons button.smt:hover {
		opacity: .7;
	}
	.mfp_buttons button.rst,
	div.mfp_buttons button#mfp_button_cancel{
		width: 160px;
		height: 4em;
		background: #fff;
		box-sizing: border-box;
		transition: .3s;
	}
	.mfp_buttons button.rst {
		border: solid 1px #595959;
	}
	.mfp_buttons button.rst:hover {
		background: #f0f0f0;
	}

/* 確認画面 */
	table#mfp_confirm_table{
		border-bottom: solid 1px #ccc;
	}
	table#mfp_confirm_table tr th,
	table#mfp_confirm_table tr td{
		font-size: 1.5rem;
		padding: 1.5em;
	}
	
/* サンクスページ */
	#thanksarea {
		padding: 80px 0 120px;
		box-sizing: border-box;
	}
	#thanksbox {
		width: calc(100% - 40px);
		max-width: 600px;
		margin: 0 auto;
		font-size: 1rem;
		padding: 2em;
		box-sizing: border-box;
		border: solid 1px #595959;
		text-align: center;
	}
	.thanksstep {
		width: calc(100% - 40px);
	}
	#thanks {
		font-size: 1rem;
		margin-bottom: 30px;
	}
	#thanks span {
		font-size: 1.66rem;
		margin-bottom: 0.5em;
	}
	.gochui {
		font-size: 1.16rem;
		letter-spacing: 0.1em;
		text-align: left;
		margin-bottom: 20px;
	}
	#add-tel {
		font-size: 1.33rem;
	}
	#tohomelink {
		display: block;
		font-size: 1.33rem;
		width: fit-content;
		margin: 40px auto 0;
		padding: 0.5em;
		text-align: center;
		border: solid 1px #595959;
	}
	
}
@media screen and (max-width: 567px){

/* ファーストビュー */
	#firstimage{
	height: 47vw;
}
	#firstimage .fvimage img{
		width: 100%;
		height: 100%;
		object-fit: cover;
	}
	#firstimage .text{
		top: 23.5vw;
		transform: translateY(-50%);
		-webkit-transform: translateY(-50%);
		-ms-transform: translateY(-50%);
	}
	#firstimage .text h2{
		font-size: 2rem;
	}
	
/* フォーム */
	#formarea{
		padding: 60px 0;
	}
	#formarea h3{
		font-size: 1.4rem;
		margin-bottom: 20px;
	}
	#formarea h3 span{
		font-size: 1rem;
	}
	.mailform {
		font-size: 1.2rem;
	}
	.mailformstep {
		margin: 0 auto 40px;
	}
	.mailform dt{
		width: 100%;
		margin-bottom: 0.5em;
	}
	.mailform dt span.hissu{
		font-size: 1rem;
		margin-right: 0.5em;
	}
	.mailform dd{
		width: 100%;
		margin-bottom: 10px;
	}
	.mailform dd input, .mailform dd textarea {
		font-size: 1.2rem;
	}
	.mfp_buttons {
		font-size: 1.2rem;
		padding-left: 0;
	}
	.mfp_buttons button.smt {
		width: calc(100% - 7em);
	}
	.mfp_buttons button.rst {
		width: 6em;
	}
	
/* 確認画面 */
	table#mfp_confirm_table{
		width: calc(100% - 40px);
		margin: 0 auto 20px;
	}
	div#mfp_phase_confirm div#mfp_phase_confirm_inner .mfp_buttons{
		width: calc(100% - 40px);
		margin: 0 auto;
		font-size: 1.2rem;
	}
	table#mfp_confirm_table tr th,
	table#mfp_confirm_table tr td{
		font-size: 1.2rem;
		padding: 1.2em;
	}
	
}

@media screen and (min-width: 568px) and (max-width: 1024px){

	#firstimage .text h2{
		font-size: 2.5rem;
	}
	
}

@media screen and (min-width: 1025px), print{

	#firstimage .text h2{
		font-size: 3rem;
	}
	
}
