@charset "utf-8";
/* CSS Document */
@media all{
	.mailform dd input[type=text],
	.mailform dd textarea{
		margin: 0;
		font-family: "ten-mincho", serif;
		font-weight: 400;
		font-style: normal;
		color: #333333;
	}
	
	#reservation #fairbanner{
		display: none;
	}
	
/* ファーストビュー */
	#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 160px;
	}
	#mfbox{
		width: calc(100% - 40px);
		max-width: 880px;
		margin: 0 auto;
	}
	#fairname{
		border: none;
	}
	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.jisage{
		padding-left: 3.2em;
	}
	.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;
		line-height: 1.5;
		width: 100%;
		padding: 1.5em;
	}
	.mailform dd select {
		font-size: 1.5rem;
		width: 100%;
		padding: 1.5em;
	}
	.mailform dd.name input{
		width: 49%;
		display: inline-block;
	}
	.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;
	}

/* Radio */
input[type=radio] {
    -webkit-appearance: none;
    -moz-appearance: none;
    -ms-appearance: none;
    -o-appearance: none;
    appearance: none;
    position: relative;
    right: 0;
    bottom: 0;
    left: 0;
    height: 18px;
    width: 18px!important;
    vertical-align: -0.8rem;
    transition:all .15s ease-out 0s;
    color: #fff;
    cursor: pointer;
    display: inline-block;
    margin: .4rem;
    outline: none;
    border-radius: 10%;
	padding: 0!important;
}
input[type=radio] {
    border-radius: 50%;
}
input[type=radio]:checked:before {
    transform: scale(1);
}
input[type=radio]:before {
    content: "";
    display: block;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    margin: 3px;
    transform: scale(0);
    transition: all ease-out 250ms;
}
input[type=radio].black {
    border: 1px solid #000;
}
input[type=radio].black:checked:before {
    background: #000;
}
	
/* 確認画面 */
	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;
	}
	
}
