@charset "UTF-8";

#form_wrap {
	width:100%;
	max-width:1130px;
	margin:0 auto ;
}


/* --- form --- */

.form_list {
	flex-wrap:wrap;
	-webkit-flex-wrap:wrap;
	margin:0 auto 70px;
}

.form_list dt,
.form_list dd {
	position:relative;
	font-size:1.8rem;
}

.form_list dt:last-of-type,
.form_list dd:last-of-type {
	border-bottom:2px solid #9f9f9f;
}

.form_list dt {
	width:32%;
	padding:1.5em;
	line-height:1.75em;
	border-left:2px solid #9f9f9f;
	border-top:2px solid #9f9f9f;
	background:#e2eff7;
}

.form_list span.label-required {
	color:#e47777;
	font-size:1.5rem;
	line-height:1.75em;
}

.form_list dd {
	width:68%;
	padding:1.5em 2.5em;
	border-left:2px solid #cfcfcf;
	border-top:2px solid #9f9f9f;
	border-right:2px solid #9f9f9f;
}

.form_list dd.check_wrap {
}

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


.form_list dd span {
	font-size:1.8rem;
	line-height:1.75em;
}

.form_list dd span:not(:last-of-type) label span {
	padding-right:3.5em;
}


/* スマホ時の装飾を削除 */
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"] {
	background:#fff;
	width:100%;
	max-width:420px;
	font-size:1.6rem;
	line-height:2em;
	height: 2.8125em;
	padding:0 1em;
	border-radius:5px;
	border:2px solid #9f9f9f;
}

@-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.5em;
    position: relative;
}

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

input[type="radio"]:checked + span::before {
	content: "";
	border: 1px solid #fcaeae;
	background:#fcaeae;
}


input[type="radio"]:checked + span::after {
    content: "";
    display: block;
	/*
    width: 0.555em;
    height: 0.555em;
    */
	width:10px;
	height:10px;
	background: #fff;
    position: absolute;
    top: 0;
    left: 4px;
    bottom: 0;
    margin: auto 0;
	border-radius:50%;
	box-sizing: border-box;
}

input[type="checkbox"] + span::before {
	content: "";
    display: block;
    width: 1em;
    height: 1em;
	/* border: 1px solid #e4e4e4; */
	background:#fff;
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    margin: auto 0;
	border-radius:5px;
	border:2px solid #9f9f9f;
}


input[type="checkbox"]:checked + span::before {
	content: "";
	background:#fcaeae;
	border: 1px solid #fcaeae;
}


/*
input[type="checkbox"]:checked + span::after {
    content: "";
    display: block;
    width: 0.5em;
    height: 0.5em;
    background: #fff;
    position: absolute;
    top: 0;
    left: 0.5em;
    bottom: 0;
    margin: auto 0;
	border-radius:3px;
}
*/

/* select */

.sele_wrap {
    width: 100%;
	max-width:420px;
	height: 45px;
	line-height:45px;
    position: relative;
    border: 2px solid #9f9f9f;
	border-radius:5px;
}

.sele_wrap::before {
    position: absolute;
    top: 0;
	bottom:0;
	margin:auto 0;
    right: 0.9em;
    width: 0.75em;
    height: 0.625em;
    content: "";
    display: block;
    background: url(../images/contact/arrow_down.svg) no-repeat center / contain;
    pointer-events: none;
}

.form_list select {
	width: 100%;
	height:100%;
    padding-right: 1em;
    cursor: pointer;
    text-overflow: ellipsis;
    border: none;
    outline: none;
    background: transparent;
    background-image: none;
    box-shadow: none;
    -webkit-appearance: none;
    appearance: none;
    padding: 0.6em 1em;
	font-size: 1.6rem;
	color:#333333;
}

.form_list select option {
}

select::-ms-expand { /* select要素のデザインを無効にする（IE用） */
display: none;
}


/* textarea */

textarea {
	resize: vertical;
	background:#fff;
	width:100%;
	font-size:1.6rem;
	line-height:2em;
	height:274px;
    overflow: auto;
    padding: 1em;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    outline: none;
	border-radius:5px;
	border:2px solid #9f9f9f;
}

/* submit */

.submit_wrap {
	margin:3em 0 0 0;
}
.submit_wrap button.btn_pink {
	background:none;
	height:85px;
	line-height:85px;
	max-width:330px;
	cursor: pointer;
}

.submit_wrap button.btn_pink span {
	font-size:2.2rem;
}
.privacy_check {
 	width: 100%;
	text-align: center;
}
.privacy_check a {
 	text-decoration: underline;
	color: #4682a9;
}
.privacy_check a:hover {
 	text-decoration: none;
	opacity: 1;
}

/*
.submit_wrap button {
	width:255px;
	height:80px;
	line-height:78px;
	font-size:1.6rem;
	border:1px solid #000000;
	transition:all .4s;
	font-weight:700;
	letter-spacing: 0.1rem;
	color:#000;
	background:#fff;
	font-family: 'Shippori Mincho B1', serif;
}
*/

input::placeholder,
textarea::placeholder {
  color: #919191;
  font-size:1.6rem;
  line-height:2em;
  font-weight:500;
}

/* IE */
input:-ms-input-placeholder,
textarea:-ms-textarea-placeholder {
  color: #919191;
  font-size:1.6rem;
  line-height:2em;
  font-weight:500;
}

/* Edge */
input::-ms-input-placeholder,
textarea::-ms-textarea-placeholder {
  color: #919191;
  font-size:1.6rem;
  line-height:2em;
  font-weight:500;
}


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

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

	.form_list dt,
	.form_list dd,
	input[type="text"],
	input[type="email"],
	input[type="number"],
	.radio_wrap {
		width:100%;
	}

	/* font 16 - 25 */
 	.form_list dt,
	.form_list dd,
	input[type="text"],
	input[type="email"],
	input[type="number"],
	.form_list select,
	.submit_wrap button,
	textarea,
	.req::before,
	input[type="radio"] + span::before,
	input[type="radio"]:checked + span::after,
	input[type="checkbox"] + span::before,
	input[type="checkbox"]:checked + span::after,
	.req::after,
	.radio_wrap label span {
        font-size:3.5vw;
    }

	input[type="text"], input[type="email"], input[type="number"] {
		height:2.8125em;
		max-width:100%;
		line-height:2.8125em;
	}

	input[type="checkbox"] + span::before,
	input[type="checkbox"] + span::after {
		border-radius:1.25vw;
	}
	


	/* textarea */
	textarea {
		height:56.5vw;
	}

	.form_list {
		margin:0vw auto 7vw;
	}


	.form_list dt {
		padding:1.5em 1em;
		border-bottom:none!important;
		border-right:2px solid #9f9f9f;
	}

	.form_list dd {
		position:relative;
		padding:1.5em 1em;
		border-left:2px solid #9f9f9f;
	}

	.form_list dd span {
		font-size:3.5vw;
	}

	.form_list dd::after {
		display:none;
	}


	.form_list dt span,
	.form_list dd {
		font-size:3.5vw;
	}

	.submit_wrap button.btn_pink {
		max-width: 70vw;
   		height: 12.5vw;
    	line-height: 12.5vw;
	}

	.submit_wrap button.btn_pink span {
		font-size:3.125vw;
	}


	input::placeholder,
textarea::placeholder {
  color: #B2B2B2;
  font-size:3.5vw;
}

/* IE */
input:-ms-input-placeholder,
textarea:-ms-textarea-placeholder {
  color: #B2B2B2;
  font-size:3.5vw;
}

/* Edge */
input::-ms-input-placeholder,
textarea::-ms-textarea-placeholder {
  color: #B2B2B2;
  font-size:3.5vw;
}

.form_list span.label-required {
	font-size:3.5vw;
}




	#form_wrap {
		padding:0;
		margin-bottom:0vw;
		max-width:100%;
	}



	input[type="radio"] + span::before {
		width:4vw;
		height:4vw;
	}

	input[type="radio"]:checked + span::after {
		width:2vw;
		height:2vw;
		left:1vw;
	}

	.sele_wrap {
		max-width:100%;
		height:11.25vw;
		line-height:11.25vw;
	}



}



/* 確認画面用 */
.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;
}

/* 完了画面用 */


