@charset "UTF-8";

#form_wrap {
	width:100%;
	margin:0 auto ;
}


/* --- form --- */

/* req */

.req {
	position:relative;
	font-size:1.6rem;
	font-weight:700;
	line-height:2;
	color:#c6171e;
	margin-left:1em;
	letter-spacing: 0.05em;
}


.form_list {
	max-width:1000px;
	flex-wrap:wrap;
	-webkit-flex-wrap:wrap;
	margin:0 auto 40px;
}

.form_list dt,
.form_list dd {
	position:relative;
	letter-spacing: 0.05em;
}

.form_list dt {
	width:27%;
	padding:30px 30px 30px 30px;
	font-size:1.8rem;
	line-height:1.75;
	font-weight:500;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	border-top:1px solid #e9ebf3;
}

.form_list dd {
	width:73%;
	font-size:1.8rem;
	padding:30px 30px 30px 0;
	border-top:1px solid #e9ebf3;
}

.form_list dt:last-of-type,
.form_list dd:last-of-type {
	border-bottom:1px solid #e9ebf3;
}

.form_list dd.check_wrap span {
	display: block;
}

.form_list dd.check_wrap > span:nth-of-type(-n+3) {
	margin-bottom:20px;
}

.form_list dd span {
	font-size:1.6rem;
	font-weight:400;
	line-height:1.5;
}



/* スマホ時の装飾を削除 */
input[type="text"],
input[type="email"],
input[type="number"],
button,
input[type="submit"],
textarea  {
	border-radius: 0;
	border:none;
	-webkit-appearance: none;
}


input[type="text"],
input[type="email"],
input[type="number"] {
	width:100%;
	font-size:1.6rem;
	line-height:1.5;
	height:35px;
	padding:0 1em;
	border-radius: 0px;
	border:1px solid #a9a9a9;
	background:#f6f6f6;
}

.dd_name input[type="text"] {
	max-width:580px;
}

.dd_tel input[type="text"] {
	max-width:580px;
}

.address_no input[type="text"] {
	max-width:150px;
}


.address_no,
.address_txt:not(:last-of-type) {
	margin-bottom:10px;
}


@-moz-document url-prefix() {
  /* Firefoxのみに適用 */
input[type="text"],
input[type="email"],
input[type="number"] {
	padding:0.65em 1em 0.65em;
}
}


/* radio checkbox */

input[type="radio"],
input[type="checkbox"] {
    display: none;
}

input[type="radio"] + span,
input[type="checkbox"] + span {
    padding-left: 1.75em;
    position: relative;
}

input[type="radio"] + span::before {
	content: "";
    display: block;
	/*
    width: 1em;
    height: 1em;
	*/
	width:20px;
	height:20px;
	border: 1px solid #a9a9a9;
	background:#f6f6f6;
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    margin: auto 0;
    border-radius: 2px;
	box-sizing: border-box;
}

input[type="radio"]:checked + span::after {
    content: "";
    display: block;
	width:12px;
	height:12px;
	background: #c6171e;
    position: absolute;
    top: 0;
    left: 4px;
    bottom: 0;
    margin: auto 0;
    border-radius: 2px;
	box-sizing: border-box;
}

input[type="checkbox"] + span::before {
	content: "";
    display: block;
    width: 20px;
    height: 20px;
	border: 1px solid #a9a9a9;
	background:#f6f6f6;
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    margin: auto 0;
    border-radius: 2px;
	box-sizing: border-box;
}


.privacy_check a {
	color:#c6171e;
	font-size:1.6rem;
	text-decoration: underline;
}

input[type="checkbox"]:checked + span::after {
	content: "";
	display: block;
	width:12px;
	height:12px;
	background:#c6171e;
	position:absolute;
	left:4px;
	top:0px;
	bottom:0;
	margin:auto 0;
	border:none;
	border-radius: 2px;

}


/* textarea */

textarea {
	resize: vertical;
	border: 1px solid #a9a9a9;
	background:#f6f6f6;
	width:100%;
	font-size:1.4rem;
	line-height:2em;
	height:260px;
    overflow: auto;
    padding: 1em;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    outline: none;
	border-radius: 0px;
}

/* privacy check --- */

.privacy_check {
	text-align: center;
}

.privacy_check input[type="checkbox"] + span::before {
	background:#fff;
}

/* submit */

.submit_wrap {
	margin:50px auto;
	text-align: center;
}

.submit_wrap input {
	cursor: pointer;
	width:400px;
	height:70px;
	line-height:70px;
	font-size:2rem;
	border-radius: 35px;
	background:#c6171e;
	color:#fff;
	text-align: center;
	font-weight:bold;
	margin:0 auto;
	letter-spacing: 0.05em;
	padding:0 2em;
	position:relative;
	overflow: hidden;
	transition:opacity .4s;
}


.submit_wrap input:hover {
	opacity:0.6;
}



input::placeholder,
textarea::placeholder {
  color: #a6a6a6;
  font-size:1.6rem;
  line-height:2;
  font-weight:400;
  letter-spacing: 0.05em;
}

/* IE */
input:-ms-input-placeholder,
textarea:-ms-textarea-placeholder {
	color: #a6a6a6;
	font-size:1.6rem;
	line-height:2;
	font-weight:400;
	letter-spacing: 0.05em;
  }

/* Edge */
input::-ms-input-placeholder,
textarea::-ms-textarea-placeholder {
	color: #a6a6a6;
	font-size:1.6rem;
	line-height:2;
	font-weight:400;
	letter-spacing: 0.05em;
  }


/* --- ver. smart phone --- */

@media screen and (max-width:768px) {

	/* --- form --- */
	
	/* req */
	
	.req {
		font-size:1.2rem;
		letter-spacing: 0.05em;
		line-height:2.45;
	}
	
	
	.form_list {
		max-width:100%;
		margin:0 auto 7.5vw;
	}
	
	.form_list dt {
		width:100%;
		padding:6.5vw 2.5vw 3vw 2.5vw;
		font-size:1.6rem;
	}
	
	.form_list dd {
		width:100%;
		font-size:1.8rem;
		padding:0 2.5vw 6.5vw;
		border-top:none;
	}
	
	.form_list dt:last-of-type {
		border-bottom:none;
	}
	

	.form_list dd.check_wrap > span:nth-of-type(-n+3) {
		margin-bottom:5vw;
	}
	
	.form_list dd span {
		font-size:1.4rem;
	}
	
	input[type="text"],
	input[type="email"],
	input[type="number"] {
		font-size:1.4rem;
		line-height:1.5;
		height:8.75vw;
	}
	
	.dd_name input[type="text"] {
		max-width:100%;
	}
	
	.dd_tel input[type="text"] {
		max-width:100%;
	}
	
	.address_no input[type="text"] {
		max-width:35vw;
	}
	
	
	.address_no,
	.address_txt:not(:last-of-type) {
		margin-bottom:2.5vw;
	}
	
	/* radio checkbox */

	
	input[type="radio"] + span::before {
		width:5vw;
		height:5vw;
		border-radius: 0.5vw;
	}
	
	input[type="radio"]:checked + span::after {
		width:3vw;
		height:3vw;
		left: 1vw;
		border-radius: 0.5vw;
	}
	
	input[type="checkbox"] + span::before {
		width:5vw;
		height:5vw;
		border-radius: 0.5vw;
	}
	
	.privacy_check input[type="checkbox"] + span::before {
		width:4vw;
		height:4vw;
	}

	.privacy_check input[type="checkbox"]:checked + span::after {
		width:2.5vw;
		height:2.5vw;
		left: 0.75vw;
	}
	
	.privacy_check a,
	.privacy_check p,
	.privacy_check span {
		font-size:1.4rem;
		letter-spacing: 0;
	}
	
	input[type="checkbox"]:checked + span::after {
		width:3vw;
		height:3vw;
		left: 1vw;
		border-radius: 0.5vw;	
	}
	
	
	/* textarea */
	
	textarea {
		height:61.25vw;
	}
	
	/* privacy check --- */
	
	.privacy_check {
		text-align: left;
	}
	
	/* submit */
	
	.submit_wrap {
		margin:7.5vw auto 0;
		text-align: center;
	}
	
	.submit_wrap input {
		width:100%;
		height:15vw;
		line-height:15vw;
		font-size:1.8rem;
		border-radius: 7.5vw;
	}
	
	input::placeholder,
	textarea::placeholder {
	  color: #a6a6a6;
	  font-size:1.4rem;
	}
	
	/* IE */
	input:-ms-input-placeholder,
	textarea:-ms-textarea-placeholder {
		font-size:1.4rem;
	}
	
	/* Edge */
	input::-ms-input-placeholder,
	textarea::-ms-textarea-placeholder {
		font-size:1.4rem;
	}
	
}



/* 確認画面用 */
.confirm_page .confirm_no{
	display: none !important;
}
.confirm_page .sele_wrap{
	border: none;
}
.confirm_page .sele_wrap:before{
	display: none;
}
.confirm_page .privacy_check{
	opacity: 0;
}

/* 完了画面用 */



.error{
	margin-top:8px;
	margin-left:16px;
	font-size:16px !important;
}