@charset "utf-8";


/* Web fonts */
@import url("https://fonts.googleapis.com/earlyaccess/notosansjapanese.css");


*{
	margin:0;
	padding:0;
}
body{
	background:#FFFFFF;
	font-family:"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-family: "Noto Sans Japanese";
	-webkit-appearance: none;
	margin-top:80px;
}


header{
	background:#FFFFFF;
	width:100%;
	position: fixed;
	z-index:100;
	top:0;
	left:0;
	box-shadow:0 2px 3px rgba(0,0,0,0.25);
}
header .Area{
	width:96%;
	max-width:1200px;
	margin:auto;
	height:50px;
	padding:14px 0;
	position:relative;
}
header .Area img{
	display:block;
	width:180px;
	margin:auto;
}

.ContTit{
	background-color:#F7F7F7;
	padding:20px 0;
}
.ContTit h2{
	padding:10px 0;
	font-size:28px;
	font-weight:bold;
	letter-spacing:5px;
	text-align:center;
	color:#333333;
}
.ContTit h2 span{
	letter-spacing:2px;
	display:block;
	font-size:60%;
	font-weight:normal;
}
@media screen and (max-width: 600px) {
	.ContTit{
		padding:14px 0;
	}
	.ContTit h2{
		font-size:28px;
	}
}

footer address{
	background:#1D3766;
	text-align:center;
	font-size:10px;
	font-style:normal;
	letter-spacing:1px;
	color:#FFFFFF;
	margin-top:80px;
	padding:12px 0;
	font-family: 'Noto Serif JP', serif;
}



/*-----------------------
         3 STEP 
-----------------------*/

.Remaining{
	width:90%;
	max-width:840px;
	height:50px;
	margin:0 auto;
	margin-top:50px;
	position:relative;
}
.Remaining .one{
	position:absolute;
	width:29.76190476%; /* 250px [250/840*100] */
	top:0;
	left:0;
	z-index:12;
}
.Remaining .two{
	position:absolute;
	width:34.52380952%; /* 290px [290/840*100] */
	top:0;
	left:28.57142857%; /* 240px [240/840*100] */
	z-index:11;
}
.Remaining .three{
	position:absolute;
	width:34.52380952%; /* 290px [290/840*100] */
	top:0;
	left:61.90476190%; /* 520px [520/840*100] */
	z-index:10;
}

.Remaining .allow div{
	height:50px;
	position:relative;
}
.Remaining .allow p{
	height:50px;
	line-height:50px;
	color:#FFFFFF;
	position: absolute;
	top:0;
	font-size:14px;
	text-shadow:1px 1px 3px rgba(0,0,0,0.12);
	z-index:15;
}
.Remaining .allow.one p{ left:15px; }
.Remaining .allow.two p{ left:55px; }
.Remaining .allow.three p{ left:55px; }


.Remaining .allow span.bg{
	background:#1D3766;
	width:100%;
	height:100%;
	position:absolute;
	left:0;
	top:0;
	border-top-left-radius:3px;
	border-bottom-left-radius:3px;
}
.Remaining .allow span.try{
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 25px 0 25px 30px;
	border-color: transparent transparent transparent #1D3766;
	position:absolute;
	right:-30px;
	top:0;
}
.Remaining .allow.beafter span.bg{
	background:#bdcde2;
}
.Remaining .allow.beafter span.try{
	border-color: transparent transparent transparent #bdcde2;
}
.Remaining .allow.beafter-end span.bg{
	background:#d7e0ec;
}
.Remaining .allow.beafter-end span.try{
	border-color: transparent transparent transparent #d7e0ec;
}









/*-----------------------
       Description 
-----------------------*/

.description{
	width:87%;
	max-width:810px;
	margin:40px auto;
	padding:15px;
	background:#F3F3F3;
}








/*-----------------------
       annotation 
-----------------------*/

.annotation{
	display:block;
	width:90%;
	max-width:840px;
	font-size:13px;
	color:#EE0000;
	margin:4px auto;
}
.required{
	background-color:#F1E8E8;	
}








/*-----------------------
     required object
-----------------------*/

.any_tx,.required_tx{
	font-size:11px !important;
	color:#FFFFFF !important;
	margin-right:6px;
	border-radius:2px;
	text-align:center;
	display:inline-block;
	padding:0 4px;
	height:15px;
	line-height:15px;
	box-shadow:1px 1px 2px rgba(0,0,0,0.15);
	-webkit-box-shadow:1px 1px 2px rgba(0,0,0,0.15);
}
.any_tx{
	background:#7C94A8;
	border:solid 1px #2F5A6F;
}
.required_tx{
	background:#EE0000;
	border:solid 1px #D50000;
}
.any_tx.min,.required_tx.min{
	font-size:10px !important;
	height:12px;
	padding:0 2px;
	line-height:12px;
	margin:-2px 4px 0 0;
	vertical-align: middle;
}









/*-----------------------
       Subheading
-----------------------*/

.Inputarea .Captx{
	clear:both;
	font-size:14px;
	display:block;
	line-height: normal !important;
	padding:12px 0 5px 0;
}
.Inputarea .Captx.Captx_first{
	padding-top:0;
}










/*-----------------------
        Mail area 
-----------------------*/

#Mail_area{
	width:90%;
	max-width:840px;
	margin:0 auto;
	background:#D8D8D8;
	padding:5px;
	border-radius:3px;
	border:solid 1px #BBBBBB;
}

/* Input Wrap */
.Inputarea{
	width:auto;
	overflow:hidden;
	height:auto;
	display:flex;
	display:-webkit-flex;
	border-bottom:solid 1px #CCCCCC;
}
.Inputleft{
	width:25%;
	border-right:solid 1px #CCCCCC;
	background-color:#EAEAEA;
	background:-moz-linear-gradient(top,#F4F4F4 0%,#EAEAEA 100%);
	background:-webkit-linear-gradient(top,#F4F4F4 0%,#EAEAEA 100%);
	background:-o-linear-gradient(top,#F4F4F4 0%,#EAEAEA 100%);
	background:-ms-linear-gradient(top,#F4F4F4 0%,#EAEAEA 100%);
	background:linear-gradient(top,#F4F4F4 0%,#EAEAEA 100%);
}
.Inputright{
	width:75%;
	background-color:#F6F6F6;
}

/* Input inner */
.Inputleft div{
	height:auto;
	line-height:54px;
	padding:0 8px;
}
.Inputleft div p{
	margin:0 !important;
	text-align:left;
	font-size:15px;
	line-height:27px;
	padding-top:12px;
}
.Inputright div{
	height:auto;
	padding:12px 8px;
}
.Inputright div .conf{
	width:90%;
	height:auto;
	font-size:16px !important;
	padding:7px 8px;
	margin-top:7px;
	background:#FFFFFF !important;
	border:solid 1px #CCCCCC;
	border-radius:3px;
}









/*-----------------------
    Input Type Style
-----------------------*/

/* text */
input:focus,textarea:focus{
	background:#F7EBCA;
}
.Inputright div input[type="text"],.Inputright div input[type="tel"],.Inputright div input[type="email"]{
	width:90%;
	font-size:16px;
	padding:7px 8px;
	border-radius:4px;
	border:solid 1px #CCCCCC;
	box-shadow:1px 1px 3px rgba(0,0,0,0.2) inset;
	-webkit-box-shadow:1px 1px 3px rgba(0,0,0,0.2) inset;
}
.w75{ width:75% !important; }
.w50{ width:50% !important; }
.w25{ width:25% !important; }



/* radio */
.Inputright div input[type="radio"]{
  display: none;
}
.radio_area label span{
	transition:.4s;
	padding-left: 32px;
	position:relative;
	margin-right: 20px;
	cursor:pointer;
}
.Inputright div input[type="radio"]:checked + span{
	color: #e47829;
  }
.radio_area label span::before{
  content: "";
  display: block;
  position: absolute;
  top: 1px;
  left: 1px;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  border:solid 1px #D3D3D3;
  background:#FFFFFF;
}
.radio_area label span::after{
  content: "";
  display: block;
  position: absolute;
  top: 4px;
  left: 4px;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background:#e47829;
  transition:.4s;
  opacity:0;
}

.Inputright div input[type="radio"]:checked + span::after{
  border-radius: 50%;
  background: #e47829;
  opacity:1;
}



/* check box */

.Checklist{
	width:100%;
	overflow:hidden;
}

/* 元のボタン非表示 */
.Inputright div input[type="checkbox"]{
  display: none;
}

/* 通常チェックリスト */
.Checklist li{
	display:inline-block;
	margin-right:20px;
	list-style-type:none;
	height:30px;
	font-size:15px;
}

.check_area label span{
transition:.4s;
	padding-left: 32px;
  position:relative;
  margin-right: 20px;
  cursor:pointer;
}
.check_area input[type="checkbox"]:checked + span{
  color: #e47829;
}
.check_area label span::before{
  content: "";
  display: block;
  position: absolute;
  top: 1px;
  left: 1px;
  width: 22px;
  height: 22px;
  border-radius: 4px;
  border:solid 1px #D3D3D3;
  background:#FFFFFF;
}
.check_area label span::after{
  content: "";
  display: block;
  position: absolute;
  top: 2px;
  left: 8px;
  width: 7px;
  height: 14px;
  transform: rotate(40deg);
  border-bottom: 3px solid #e47829;
  border-right: 3px solid #e47829;
  transition:.4s;
  opacity:0;
}
.check_area input[type="checkbox"]:checked + span::after{
  opacity:1;
}
.check_area textarea{
	width:60%;
	height:50px;
}



/* select */
.select_label{
	display:inline-block;
	position:relative;
}
select{
	width:180px;
	font-size:16px;
	padding: 7px 8px;
	border-radius:4px;
	border:solid 1px #CCCCCC;
	box-shadow:1px 1px 3px rgba(0,0,0,0.2) inset;
	-webkit-box-shadow:1px 1px 3px rgba(0,0,0,0.2) inset;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	position:relative;
	background:#FFFFFF url(../_img/select_allow.png) no-repeat center right;
	background-size:15px;
}



/* select custom [birth] */
.sw20{ width:100px !important; display:inline !important; }
.sw10{ width:70px !important; margin-left:0 !important; }


/* text custom [yoyaku] */
.Inputarea input[name="yoyaku"]{
	width:160px !important;
	margin-left:0;
	margin-right:10px !important;
}



/* select custom [ytime] */
.Inputarea select[name="ytime"]{
	width:160px;
	margin-left:0;
	display:inline;
}



/* textarea */
textarea{
	width:90%;
	height:140px;
	font-size:16px;
	padding:7px 8px;
	border-radius:4px;
	border:solid 1px #CCCCCC;
	box-shadow:1px 1px 3px rgba(0,0,0,0.2) inset;
	-webkit-box-shadow:1px 1px 3px rgba(0,0,0,0.2) inset;
}

/* check box custom [agreement] */
.agreement_tx{
	border-bottom:dotted 2px #CCCCCC;
	padding:8px 10px;
	font-size:14px;
	line-height:145%;
	color:#6A1A1B;
	margin-bottom:10px;
}
.agreement_check{
	display:block;
	width:90%;
	
}

.SubmitBtn{
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}

/* submit [input] */
#Submit{
	width:242px;
	height:62px;
	margin:30px auto;
	position:relative;
}
#Submit .SubmitBtn{
	text-align:center;
	border:solid 1px #092955;
	border-radius:3px;
	font-size:15px;
	font-weight:bold;
	color:#FFFFFF;
	background:#183A7F;
	box-shadow:1px 1px 3px rgba(0,0,0,0.25);
	-webkit-box-shadow:1px 1px 3px rgba(0,0,0,0.25);
	margin:30px auto;
	display:block;
	width:240px;
	height:60px;
	line-height:60px;
	transition:background 0.5s,color 0.5s;
	position:absolute;
	top:0;
	left:0;
	z-index:10;
	cursor:pointer;
}
#Submit .SubmitBtn:hover{
	color:#183A7F;
	border:solid 1px #183A7F;
	background:#FAFAFA;
	box-shadow:1px 1px 3px rgba(0,0,0,0.25);
	-webkit-box-shadow:1px 1px 3px rgba(0,0,0,0.25);
}
#Submit div.SubmitBtn,#Submit div.SubmitBtn:hover{
	border-color:#CCCCCC;
	background:#EAEAEA;
	color:#AEAEAE;
	z-index:9;
	cursor:default;
}



/* submit [confirm] */
#SubmitConfirm{
	width:242px;
	margin:30px auto;
}
#SubmitConfirm .SubmitBtn{
	text-align:center;
	border:solid 1px #092955;
	border-radius:3px;
	font-size:15px;
	font-weight:bold;
	color:#FFFFFF;
	background:#183A7F;
	box-shadow:1px 1px 3px rgba(0,0,0,0.25);
	-webkit-box-shadow:1px 1px 3px rgba(0,0,0,0.25);
	margin:30px auto;
	display:block;
	width:240px;
	height:60px;
	line-height:60px;
	transition:background 0.5s,color 0.5s;
	cursor:pointer;
}
#SubmitConfirm .SubmitBtn:hover{
	color:#183A7F;
	border:solid 1px #183A7F;
	background:#FAFAFA;
}
#SubmitConfirm .SubmitBtn_min{
	text-align:center;
	border:solid 1px #092955;
	border-radius:3px;
	font-size:13px;
	color:#183A7F;
	background:#F4F4F4;
	box-shadow:1px 1px 3px rgba(0,0,0,0.25);
	-webkit-box-shadow:1px 1px 3px rgba(0,0,0,0.25);
	margin:30px auto;
	display:block;
	width:140px;
	height:36px;
	line-height:36px;
	transition:background 0.5s,color 0.5s;
	cursor:pointer;
}
#SubmitConfirm .SubmitBtn_min:hover{
	color:#19427A;
	border:solid 1px #19427A;
	background:#D2DAE7;
}










/*-----------------------
          error
-----------------------*/

.form_err{
	background-color:#EBC1C2 !important;
}
.form_err_radio label{
	background-color:#EBC1C2 !important;
	border-radius:3px !important;
}
.send_err{
	background-color:#EDD7D7 !important;
	width:80%;
	max-width:810px;
	margin:15px auto;
	padding:15px;
	border:solid 1px #DD2124;
	color:#DD2124;
}

.input_err{
	font-size:13px;
	color:#EE0000;
	margin:4px;
	display:none;
}






/* 必須項目数メッセージ */
.message {
	background-color: rgba(255,255,255,0.7);
	width: 160px;
	height: auto;
	padding: 10px 3px;
	text-align: center;
	position: fixed;
	bottom:20px;
	left: 20px;
	font-size: 16px;
	line-height: 1.8em;
	font-weight: bold;
	border-radius:6px;
	z-index:10000;
	color:#444444;
	border:solid 1px #CCCCCC;
}
.message span{
	font-size:26px !important;
	color:#CC0000;

}
























/*-------------------- 
  width 0 - 640px
--------------------*/
@media screen and (max-width:640px) {
.Remaining .allow p{
	font-size:12px;
}
.Remaining .allow.one p{
	left:10px;
}
.Remaining .allow.two p{
	left:45px;
}
.Remaining .allow.three p{
	left:45px;
}




}








.reserve_tab{
	display: flex;
	justify-content: space-between;
	width: 87%;
	max-width: 840px;
	margin: 40px auto 0;
}

.reserve_tab > div{
	width: 32%;
	height: 50px;
	border: solid 1px #3c3c3c;
	border-radius: 3px;
	transition: 0.3s;
}
.reserve_tab > div a{
	width: 100%;
	height: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 16px;
	text-decoration: none;
	color: #3c3c3c;
	transition: 0.3s;
}
.reserve_tab > div.tab_active{
	background: #1d3666;
	transition: 0.3s;
	border: solid 1px #1d3666;
}
.reserve_tab > div.tab_active a{
	color: #fff;
	transition: 0.3s;
}
.reserve_tab > div:hover{
	background: #bdcce2;
	border: solid 1px #bdcce2;
	transition: 0.3s;
}
.reserve_tab > div:hover a{
	color: #fff;
	transition: 0.3s;
}
.dinks_corse{
	margin: 20px auto;
	width: 87%;
	max-width: 840px;
	font-size: 16px;
}




















/*-------------------- 
  width 0 - 480px
--------------------*/
@media screen and (max-width:480px) {












.Remaining .allow div{
	height:40px;
}
.Remaining .allow p{
	height:40px;
	line-height:40px;
	font-size:11px;
}
.Remaining .allow.one p{
	left:5px;
}
.Remaining .allow.two p{
	left:35px;
}
.Remaining .allow.three p{
	left:35px;
}
.Remaining .allow span.try{
	border-width: 20px 0 20px 25px;
	right:-25px;
}

















	/*-----------------------
		   Description 
	-----------------------*/
	
	.description{
		width:84%;
		padding:15px 3%;
	}
	
	
	
	
	
	
	
	
	/*-----------------------
			Mail area 
	-----------------------*/
	
	/* Input Wrap */
	.Inputarea{
		display: block;
	}
	.Inputleft{
		width:100%;
		border-right:none;
		background:#EFEFEF;
		padding-top:10px;
	}
	.Inputright{
		width:100%;
		background:#EFEFEF;
		padding-bottom:20px;
	}
	
	/* Input inner */
	.Inputleft div{
		line-height:normal;
		padding:0 8px 10px 8px;
	}
	.Inputleft div p{
		padding-top:10px;
	}
	.Inputright div{
		padding:0px 8px;
	}
	.Inputright div .conf{
		margin-top:0;
	}
	
	
	
	
	
	
	
	/*-----------------------
		Input Type Style
	-----------------------*/
	
	#name,#kana,#tel{ width:92%; }
	#zip{ width:50%; }
	#add1,#add2,#add3,#mail,#mail_con{ width:92%; }
	
	#pref,#ytime{ width:180px; }
	
	/* text custom [yoyaku] */
	.Inputarea input[name="yoyaku"]{
		width:60% !important;
		margin:0 0 10px 0 !important;
		display:block;
	}
	
	/* select custom [ytime] */
	.Inputarea select[name="ytime"]{
		width:40%;
		display:block;
	}
	
	/* check box 
	.Checklist li{
		width:45%;
		float:left;
		margin:0 2.5%;
	}*/
	
	/* textarea */
	textarea{
		width:92%;
	}
	
	/* submit [input] */
	#Submit{
		width:202px;
		height:52px;
		margin:0 auto 100px auto;
	}
	#Submit .SubmitBtn,#Submit .SubmitBtn:hover{
		margin:30px auto;
		width:200px;
		height:50px;
		line-height:50px;
	}



	/* submit [confirm] */
	#SubmitConfirm{
		width:202px;
		margin:30px auto;
	}
	#SubmitConfirm .SubmitBtn,#SubmitConfirm .SubmitBtn:hover{
		margin:30px auto;
		width:200px;
		height:50px;
		line-height:50px;
	}








	/* 必須項目数メッセージ */
	.message {
		background-color: rgba(255,255,255,0.7);
		width: 100%;
		height: auto;
		padding: 10px 0;
		text-align: center;
		position: fixed;
		bottom:0;
		left:0;
		font-size: 15px;
		line-height: 1.8em;
		font-weight: bold;
		border-radius:0;
		z-index:10000;
		color:#444444;
		border:none;
		border-top:solid 1px #CCCCCC;
	}
	.message span{
		font-size:22px !important;
		color:#CC0000;
		margin:0 4px;
	}
	.message br{
		display:none;
	}




	
	

}




/* Labochecks */
.Labocheck{
    width: 90%;
    max-width: 840px;
    margin: 20px auto;
}
.Labocheck input[type="checkbox"]{
  display: none;
}

.Labocheck label span{
transition:.4s;
	padding-left: 32px;
  position:relative;
  margin-right: 20px;
  cursor:pointer;
}
.Labocheck input[type="checkbox"]:checked + span{
  color: #e47829;
}
.Labocheck label span::before{
  content: "";
  display: block;
  position: absolute;
  top: 1px;
  left: 1px;
  width: 22px;
  height: 22px;
  border-radius: 4px;
  border:solid 1px #D3D3D3;
  background:#FFFFFF;
}
.Labocheck label span::after{
  content: "";
  display: block;
  position: absolute;
  top: 2px;
  left: 8px;
  width: 7px;
  height: 14px;
  transform: rotate(40deg);
  border-bottom: 3px solid #e47829;
  border-right: 3px solid #e47829;
  transition:.4s;
  opacity:0;
}
.Labocheck input[type="checkbox"]:checked + span::after{
  opacity:1;
}

.Labocheck_label{
	display:block;
	width:90%;
	
}




/* Pryvacy */
.privacyWrap{
	width:96%;
	margin:10px auto;
	height:140px !important;
	overflow-y:scroll;
	overflow-x:hidden;
	background:#FFFFFF;
}
.privacy{
	padding:10px;
	font-size:12px;
}
.privacy h4{
	font-size:14px;
}
.privacy hr{
	margin:10px auto;
}
.privacy p{
	margin:10px auto;
}
.privacy p.ar{
	text-align:right;
}
.privacy ul{
	margin:20px auto;
}
.privacy ul li{
	list-style-type:none;
	margin:10px auto;
	margin-left:20px;
}