

/* Web fonts */
@import url("https://fonts.googleapis.com/earlyaccess/notosansjapanese.css");


*{
	margin:0;
	padding:0;
}
body{
	font-family:"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-family: "Noto Sans Japanese";
	-webkit-appearance: none;
}














/*-----------------------
       Description 
-----------------------*/

.description{
	width:87%;
	max-width:810px;
	margin:40px auto;
	font-size:14px;
	text-align:center;
}
.description b{
	font-size:20px;
	font-weight:bold;
	line-height:170%;
}
.description span{
	display:block;
	font-size:14px;
}
.description span i{
	font-style:normal;
	color:#D02023;
}








/*-----------------------
       annotation 
-----------------------*/

.annotation{
	display:block;
	width:90%;
	max-width:840px;
	font-size:13px;
	color:#EE0000;
	margin:4px auto;
}







/*-----------------------
     required object
-----------------------*/

.required_tx{
	color:#EE0000;
}
.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:12px;
	display:block;
	line-height: normal !important;
	padding:12px 0 5px 0;
}
.Inputarea .Captx.Captx_first{
	padding-top:0;
}



p.tit{
	background:#b5b5b6;
	color:#FFF;
	text-align:center;
	padding:10px 0;
	font-size:14px;
	
}
p.tit.b{
	background:#0064a7;
}






/*-----------------------
        Mail area 
-----------------------*/

.Mail_area{
	width:90%;
	max-width:840px;
	margin:0 auto;
	background:#FFF;
	border:solid 1px #BBBBBB;
}
.Mail_area.b{
	border:solid 1px #0064a7;
	margin-top:40px;
}

/* Input Wrap */
.Inputarea{
	width:auto;
	overflow:hidden;
	height:auto;
	display:flex;
	display:-webkit-flex;
	padding:10px;
}
.Inputleft{
	width:35%;
}
.Inputright{
	width:65%;
	background-color:#FFF;
}

/* Input inner */
.Inputleft div{
	height:auto;
	line-height:54px;
	padding:0 8px;
}
.Inputleft div p{
	margin:0 !important;
	text-align:left;
	font-size:13px;
	line-height:27px;
	padding:12px 10px;
	background-color:#dcdddd;
}
.Mail_area.b .Inputleft div p{
	background-color:#c7eafb;
}
.Inputright div{
	height:auto;
	padding:0 8px 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:solid 1px #CCCCCC;
}
.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;
	font-size:14px;
}
.Inputright div input[type="radio"]:checked + span{
	color: #0064a7;
  }
.radio_area label span::before{
  content: "";
  display: block;
  position: absolute;
  top: 1px;
  left: 1px;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  border:solid 1px #D3D3D3;
  background:#FFFFFF;
}
.radio_area label span::after{
  content: "";
  display: block;
  position: absolute;
  top: 4px;
  left: 4px;
  width: 14px;
  height: 14px;
  border-radius: 50%;
  background:#0064a7;
  transition:.4s;
  opacity:0;
}

.Inputright div input[type="radio"]:checked + span::after{
  border-radius: 50%;
  background: #0064a7;
  opacity:1;
}



/* check box */

.Checklist{
	width:100%;
	overflow:hidden;
}

/* 元のボタン非表示 */
.Inputright div input[type="checkbox"]{
  display: none;
}

/* 通常チェックリスト */
.Checklist li{
	display:inline-block;
	margin-right:8px;
	list-style-type:none;
	height:30px;
}

.check_area label span{
transition:.4s;
	padding-left: 32px;
  position:relative;
  margin-right: 20px;
  cursor:pointer;
  font-size:14px;
}
.check_area input[type="checkbox"]:checked + span{
  color: #0064a7;
}
.check_area label span::before{
  content: "";
  display: block;
  position: absolute;
  top: 1px;
  left: 1px;
  width: 18px;
  height: 18px;
  border-radius: 4px;
  border:solid 1px #D3D3D3;
  background:#FFFFFF;
}
.check_area label span::after{
  content: "";
  display: block;
  position: absolute;
  top: 2px;
  left: 7px;
  width: 6px;
  height: 12px;
  transform: rotate(40deg);
  border-bottom: 3px solid #0064a7;
  border-right: 3px solid #0064a7;
  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-top:dotted 2px #CCCCCC;
	padding:8px 10px;
	font-size:14px;
	line-height:145%;
	color:#6A1A1B;
	margin-top: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 #CCC;
	border-radius:3px;
	font-size:15px;
	font-weight:bold;
	color:#333;
	background-color:#888;
	background:-moz-linear-gradient(top,#FAFAFA,#AAAAAA);
	background:-webkit-linear-gradient(top,#FAFAFA,#AAAAAA);
	background:-o-linear-gradient(top,#FAFAFA,#AAAAAA);
	background:-ms-linear-gradient(top,#FAFAFA,#AAAAAA);
	background:linear-gradient(top,#FAFAFA,#AAAAAA);
	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{
	opacity:0.7;
}
#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 #CCC;
	border-radius:3px;
	font-size:15px;
	font-weight:bold;
	color:#333;
	background-color:#888;
	background:-moz-linear-gradient(top,#FAFAFA,#AAAAAA);
	background:-webkit-linear-gradient(top,#FAFAFA,#AAAAAA);
	background:-o-linear-gradient(top,#FAFAFA,#AAAAAA);
	background:-ms-linear-gradient(top,#FAFAFA,#AAAAAA);
	background:linear-gradient(top,#FAFAFA,#AAAAAA);
	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{
	opacity:0.7;
}
#SubmitConfirm .SubmitBtn_min{
	text-align:center;
	border:solid 1px #AAA;
	border-radius:3px;
	font-size:13px;
	color:#333;
	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;
	cursor:pointer;
}
#SubmitConfirm .SubmitBtn_min:hover{
	opacity:0.7;
}










/*-----------------------
          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;
}

.radio_area{
	margin-bottom:10px;
	
}
.w75{ width:90% !important; }
.w50{ width:70% !important; }
.w25{ width:30% !important; }


}





































/*-------------------- 
  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;
	}




	
	

}





.tx{
	font-size:14px;
	text-align:center;
	margin:30px auto;
	line-height:175%;
}
.cap{
	font-size:12px;
	max-width:810px;
	margin:4px auto;
	width:92%;
}
.Privacy{
	margin:80px auto 40px auto;
	max-width:840px;
	width:92%;
}
.Privacy p{
	font-size:14px;
	text-align:center;
	margin-bottom:5px;
}
.Privacy div.sc{
	width:auto;
	border:solid 1px #CCC;
	background:#EAEAEA;
	padding:20px;
	font-size:12px;
	height:160px;
}
.Fg{
	font-size:21px;
	margin:20px auto;
	line-height:165%;
	text-align:center;
}






#Reqtx{
	font-size:16px;
	font-weight:bold;
	text-align:center;
	margin:40px auto;
	color:#CC0000;
	
}





/*------------------
    normal Style 
 ------------------*/
.OptionBtn{
	width:400px;
	margin:30px auto 0 auto;
	overflow:hidden;
}
.OptionBtn li{
	width:200px;
	float:left;
	list-style-type:none;
}


/* One only */
.OptionBtn.one li{ width:400px; }
/* One only */


.OptionBtn li a{
	font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-family: "Noto Sans Japanese";
	width:130px;
	margin:8px auto;
	display:block;
	border:solid 1px #AFAFAF;
	background:#F2F2F2;
	padding:10px 0;
	text-align:center;
	text-decoration:none;
	color:#333333;
	font-size:15px;
	font-weight:;
	transition:all 0.5s;
	border-radius:2px;
	box-shadow:0 3px 8px rgba(0,0,0,0.15);
	-webkit-box-shadow:0 3px 8px rgba(0,0,0,0.15);
	letter-spacing:1px;
}
.OptionBtn li a:hover{
	border:solid 1px #333333;
	background:#C8C8C8;
}



/*------------------
    Option Style 
 ------------------*/
/* print icon */
.printico {
	display:block;
	padding-left:15px;
}
.printico i{
	display:block;
	color: #434343;
	position: absolute;
	margin-left: 3px;
	margin-top: 5px;
	width: 15px;
	height: 6px;
	border-radius: 1px 1px 0 0;
	border: solid 1px currentColor;
	background-color: currentColor;
}
.printico i:before {
	content: '';
	position: absolute;
	left: 2px;
	top: -3px;
	height: 13px;
	width: 9px;
	border: solid 1px currentColor;
	background-color: white;
}
.printico i:after {
	content: '';
	position: absolute;
	left: 1px;
	top: -1px;
	width: 13px;
	height: 3px;
	border-top: solid 1px currentColor;
	border-bottom: solid 1px currentColor;
	background-color: currentColor;
}

/* close icon */
.closeico {
	display:block;
	padding-left:15px;
}
.closeico i{
	color: #434343;
	position: absolute;
	margin-left: -21px;
	margin-top: 11px;
}
.closeico i:before {
	content: '';
	position: absolute;
	width: 15px;
	height: 1px;
	background-color: currentColor;
	-webkit-transform: rotate(45deg);
			transform: rotate(45deg);
}
.closeico i:after {
	content: '';
	position: absolute;
	width: 15px;
	height: 1px;
	background-color: currentColor;
	-webkit-transform: rotate(-45deg);
			transform: rotate(-45deg);
}




/* >> BreakPoint.1  width - 960px  << */
@media screen and (max-width:960px) {
	.OptionBtn{ width:360px; }
	.OptionBtn li{ width:180px; }
	
	/* One only */
	.OptionBtn.one li{ width:360px; }
	/* One only */
	
}



/* >> BreakPoint.2  width - 640px  << */
@media screen and (max-width:640px) {
	.OptionBtn{ width:340px; }
	.OptionBtn li{ width:170px; }

	/* One only */
	.OptionBtn.one li{ width:340px; }
	/* One only */

	.OptionBtn li a{
		width:120px;
		padding:8px 0;
		color:#333333;
		font-size:14px;
	}
	.printico {
	  padding-left:10px;
	}

}



/* >> BreakPoint.3  width - 420px  << */
@media screen and (max-width:420px) {
	.OptionBtn{ width:310px; }
	.OptionBtn li{ width:155px; }

	/* One only */
	.OptionBtn.one li{ width:310px; }
	/* One only */

	.OptionBtn li a{
		width:110px;
		padding:8px 0;
		color:#333333;
		font-size:12px;
	}
	/* print icon */
	.printico {
	  padding-left:10px;
	}
	.printico i{
	  margin-left: 3px;
	  margin-top: 5px;
	  width: 12px;
	  height: 5px;
	}
	.printico i:before {
	  left: 1px;
	  top: -3px;
	  height: 10px;
	  width: 8px;
	}
	.printico i:after {
	  left: 1px;
	  top: -1px;
	  width: 10px;
	  height: 3px;
	}
	
	/* close icon */
	.closeico {
	  padding-left:15px;
	}
	.closeico i{
	  margin-left: -17px;
	  margin-top: 9px;
	}
	.closeico i:before {
	  width: 12px;
	  height: 1px;
	}
	.closeico i:after {
	  width: 12px;
	  height: 1px;
	}

}
