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

.Remaining {
    width: 100%;
    height: 50px;
    position: relative;
}
.Remaining .one {
	position:absolute;
	width:33%; /* 250px [250/840*100] */
	top:0;
	left:0;
	z-index:12;
}
.Remaining .two {
	position:absolute;
	width:37%; /* 290px [290/840*100] */
	top:0;
	left:29%; /* 240px [240/840*100] */
	z-index:11;
}
.Remaining .three {
	position:absolute;
	width:37%; /* 290px [290/840*100] */
	top:0;
	left:62%; /* 520px [520/840*100] */
	z-index:10;
}

.Remaining .allow div {
	height:50px;
	position:relative;
}
.Remaining .allow p {
	height:50px;
	line-height:50px;
	color:#333;
	position: absolute;
	top:0;
	font-size:16px;
	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:#fff;
	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 10px;
    border-color: transparent transparent transparent #fff;
    position: absolute;
    right: -10px;
    top: 0;
}
.Remaining .allow.beafter span.bg {
	background:#E4E7F0;
}
.Remaining .allow.beafter span.try {
	border-color: transparent transparent transparent #E4E7F0;
}
.Remaining .allow.beafter-end span.bg {
	background:#CDD4E1;
}
.Remaining .allow.beafter-end span.try {
	border-color: transparent transparent transparent #CDD4E1;
}


/* 完了画面
=======================================================================*/
.complete {
	text-align:center;
}
.complete p {
	font-size: 22px;
    line-height: 1.7;
    padding: 100px 0 50px;
}
.complete a {
	background: #fff;
    padding: 15px 50px;
    font-size: 15px;
    margin: 0 0 100px 0;
    display: inline-block;
}


/* Description
=======================================================================*/
.description {
    margin: 30px 0;
    padding: 20px 15px;
    border: solid 1px #444;
    font-size: 12px;
}


/* address_area
=======================================================================*/
.Inputright .address_area {
	padding: 28px 0;
}


/* radio_area
=======================================================================*/
.Inputright .radio_area {
	padding: 28px 0;
}

/* annotation
=======================================================================*/
.annotation {
	display:block;
	width:90%;
	max-width:840px;
	font-size:13px;
	color:#F0305A;
	margin:4px auto;
}
.required {
}


/* required object
=======================================================================*/
.any_tx,.required_tx {
    font-size: 11px !important;
    margin: 0 0 0 10px;
    display: inline-block;
    padding: 3px 4px;
    line-height: 1;
    vertical-align: 1px;
}
.any_tx {
	background:#7C94A8;
	border:solid 1px #2F5A6F;
}
.required_tx {
	background:#F0305A;
}
.any_tx.min,.required_tx.min {
	font-size: 10px !important;
    padding: 2px 3px;
    line-height: 1;
    margin: 0 8px 0 0;
}


/* Subheading
=======================================================================*/
.Inputarea .Captx {
	clear:both;
	font-size:14px;
	display:block;
	line-height: normal !important;
	padding: 30px 0 10px 0;
}
.Inputarea .Captx.Captx_first {
	padding-top:0;
}
.Inputarea .Captx_bottom {
	padding: 4px 0 0 0;
    font-size: 11px;
    color: #AEB7C9;
}


/* Mail area
=======================================================================*/
#Mail_area {
}

/* Input Wrap */
.Inputarea {
	display: flex;
    display: -webkit-flex;
}
.Inputleft {
	width:60%;
}
.Inputright {
	width:100%;
}

/* Input inner */
.Inputleft div {
	padding: 30px 25px 0 0;
}
.Inputleft div p {
	text-align: right;
    font-size: 15px;
}
.Inputright div {
	padding: 20px 0;
}
.Inputright div .conf {
	width: 100%;
    height: auto;
    line-height: 1.4;
    padding: 0 0 0 20px;
    border-left: 1px solid #bbb;
}









/*-----------------------
    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:9px 13px;
	border:none;
}
.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 {
}
.radio_area label span::before {
  content: "";
  display: block;
  position: absolute;
  top: 1px;
  left: 1px;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background:#fff;
}
.radio_area label span::after {
  content: "";
  display: block;
  position: absolute;
  top: 4px;
  left: 4px;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background:#F0305A;
  transition:.4s;
  opacity:0;
}

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



/* check box */

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

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

/* 通常チェックリスト */
.Checklist li {
	width:30%;
	float:left;
	list-style-type:none;
	height:30px;
}

.check_area label span {
	transition: .4s;
    padding: 6px 0 10px 32px;
    position: relative;
    cursor: pointer;
    font-size: 12px;
}
.check_area input[type="checkbox"]:checked + span {
}
.check_area label span::before {
  content: "";
  display: block;
  position: absolute;
  top: 1px;
  left: 1px;
  width: 22px;
  height: 22px;
  border-radius: 2px;
  background:#fff;
}
.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 #F0305A;
  border-right: 3px solid #F0305A;
  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:none;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	position:relative;
	background:#FFFFFF url(../_img/select_allow.png) no-repeat center right;
	background-size:15px;
	margin: 0 0 20px 0;
}



/* 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: 15px 20px;
    border: none;
    line-height: 1.5;
}

/* check box custom [agreement] */
.agreement_tx {
	border-top:1px dashed #525F68;
    padding: 15px 0;
    font-size: 10px;
    line-height: 2;
    color: #ccc;
    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 {
    background: url(../../common/img/bace/arrow_01.png) no-repeat scroll 94% center #20b4cc;
	text-align: center;
    border: none;
    font-size: 18px;
    font-weight: bold;
    color: #FFFFFF;
    display: block;
    width: 240px;
    line-height: 1;
    transition: background 0.5s,color 0.5s;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 10;
    cursor: pointer;
    padding: 25px 0;
	font-weight: normal;
	font-family: 'Noto Serif JP', serif;
}
#Submit div.SubmitBtn {
	border-color:#CCCCCC;
	background:#EAEAEA;
	color:#AEAEAE;
	z-index:9;
	cursor:default;
}
#Submit input.SubmitBtn:hover {
	background: url(../../common/img/bace/arrow_01.png) no-repeat scroll 95% center #00C6E7;
}


/* submit [confirm] */
#SubmitConfirm {
	width:242px;
	margin:30px auto;
}
#SubmitConfirm .SubmitBtn {
	background: url(../../common/img/bace/arrow_01.png) no-repeat scroll 94% center #20b4cc;
    text-align: center;
    border: none;
    font-size: 17px;
    color: #fff;
    margin: 30px auto;
    display: block;
    width: 240px;
    line-height: 1;
    transition: background 0.5s,color 0.5s;
    cursor: pointer;
    padding: 20px 0;
}
#SubmitConfirm .SubmitBtn:hover {
	background: url(../../common/img/bace/arrow_01.png) no-repeat scroll 95% center #00C6E7;
}
#SubmitConfirm .SubmitBtn_min {
	text-align:center;
	border:solid 1px #092955;
	border-radius:3px;
	font-size:13px;
	color:#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: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 {
}
.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: 14px;
    color: #F0305A;
    margin: 10px 0 10px 0;
    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;
}




}







/* 【SP】ウィンドウ幅が768px以下の場合に適用するCSS */
@media screen and (max-width: 768px) {

.Inputleft div p {
    text-align: left;
    font-size: 20px;
}
.Inputright {
    padding-bottom: 0;
}
.Remaining .allow span.try {
    border-width: 20px 0 20px 10px;
    right: -10px;
}

#Submit {
    width:100%!important;
}
#Submit .SubmitBtn {
	width: 100% !important;
}

.Inputright div .conf {
    line-height: 1.6;
    font-size: 18px;
    border: none;
    padding: 0;
}
.Inputleft div p {
    padding: 10px 0;
    border-bottom: 1px solid #fff;
    font-size: 20px;
}

.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 10px;
    right: -10px;
}

.complete p {
    font-size: 17px;
    line-height: 1.7;
    padding: 50px 0;
}


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

.description {
	width: 90%;
	padding: 20px 5%;
	font-size: 16px;
}
	
	
	
	
	
	
	
	
	/*-----------------------
			Mail area 
	-----------------------*/
	
	/* Input Wrap */
	.Inputarea {
		display: block;
	}
	.Inputleft {
		width:100%;
		border-right:none;
		padding-top:10px;
	}
	.Inputright {
		width:100%;
		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:100%;
		margin:0 auto 100px auto;
	}
	#Submit .SubmitBtn,#Submit .SubmitBtn:hover {
	}



	/* submit [confirm] */
	#SubmitConfirm {
		width: 100%;
		margin:30px 0;
	}
	#SubmitConfirm .SubmitBtn,#SubmitConfirm .SubmitBtn:hover {
		margin:30px auto;
		width:100%;
		line-height:50px;
		padding: 10px 0;
	}








	/* 必須項目数メッセージ */
	.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;
	}




	
	

}

