@charset "utf-8";
/* CSS Document */

section#form {
	background-color:white;
	color:black;
	width:100%;
	min-width:auto;
	margin-bottom:6em;
	padding:3em 13.3% 6em;
	box-sizing:border-box;
	
	font-size:1.2em;
	overflow:hidden;
}
@media only screen and (max-width:768px){
	section#form {
		padding:1em 6% 5em;
	}
}


p.instruction {
	margin-bottom:2em;
}
.notice {
	color:red;
	font-size:0.8em;
}
.notice2 {
	color:red;
}
p.error {
	display:none;
	position:absolute;
	color:red;
	font-size:0.8em;
	margin:0;
	
	width:82%;	/* sectionWidth(94%)*formWidth(88%) */
}




dl {
	display:flex;
	margin:0 0 2em;
}
dl.select {
	margin-bottom:3em;
}
dt {
	width:11em;
	white-space:nowrap;
    word-wrap: break-word;
}
dd {
	min-width:0;
	flex: 1;
    word-wrap: break-word;
	margin:0;
}
dd.confirm {
	font-weight:bold;
}
div.privacypolicy {
	margin-left:11em;
	margin-bottom:5em;
}
div.privacypolicy p {
	margin-bottom:0;
}
div.privacypolicy a {
	color:black;
	text-decoration:underline;
}
div.privacypolicy a:link {text-decoration:underline;}
div.privacypolicy a:hover {text-decoration:none;}

div.submit {
	margin-top:5em;
	margin-left:11em;
	
	overflow:visible;
	white-space:nowrap;
}
div.submit button:first-child {
	margin-right:5%;
}
@media only screen and (max-width:768px){
	dl {
		display:block;
		margin-bottom:1.5em;
	}
	dt {
		width:100%;
		margin-bottom:0.3em;
	}
	dd {
		width:100%;
	}
	
	div.privacypolicy {
		margin-left:0;
	}
	div.submit {
		margin-left:0;
	}
}







/* form */
input[type="text"], textarea {
	background-color:#E4E4E4;
	padding:0.3em 0.8em;
	box-sizing:border-box;
	border:1px solid #E4E4E4;
	margin-top:-0.3em;
}
input[type="text"]:focus, textarea:focus {
	border-color:#CCCCCC;
	
	-webkit-box-shadow:	1px 1px 4px 4px rgba(0,0,0,0.1) inset;
	-moz-box-shadow:	1px 1px 4px 4px rgba(0,0,0,0.1) inset;
	box-shadow:			1px 1px 4px 4px rgba(0,0,0,0.1) inset;
}
input[type="text"] {
	width:78%;
}
label + br + input[type="text"] {
	margin-left:1em;
}
input[type="radio"],input[type="checkbox"] {
	margin-bottom:0.8em;
}
textarea {
	width:100%;
	max-width:100%;
	height:10em;
	padding:0.6em 0.8em;
	line-height:120%;
}
::-webkit-input-placeholder {
	color:#B7B7B7;
	opacity:0.7;
}
::-moz-placeholder {
	color:#B7B7B7;
	opacity:0.7;
}
:-ms-input-placeholder {
	color:#B7B7B7;
	opacity:0.7;
}
@media only screen and (max-width:768px){
	input[type="text"] {
		width:100%;
	}
	dl.select input[type="text"] {
		width:80%;
		width:calc(100% - 25px);
		margin-left:25px;
	}
}




/* radio button */
input[type=radio] {
	display:none;
}
.radio {
	display:inline-block;
	margin-left:25px;
	position:relative;
	margin-bottom:0.8em;
	cursor:pointer;
}
.radio:hover {
	text-decoration:underline;
}
.radio:before, .radio:after {
	content:"";
	position:absolute;
	display:block;
	border-radius: 50%;
}
.radio:before {
	width:20px;
	height:20px;
	background-color:#E4E4E4;
	left:-25px;
	top:2px;
}
.radio:after {
	width:10px;
	height:10px;
	background-color:#181818;
	left:-20px;
	top:7px;
	opacity:0;
	transition: all 0.2s;
	transform:scale(0,0);

}
input[type=radio]:checked + .radio:after {
	opacity: 1;
	transform:scale(1,1);
}
input[type=radio]:checked + .radio {
	font-weight:bold;
}



/* checkbox */
input[type=checkbox] {
	display:none;
}
.checkbox {
	display:inline-block;
	margin-left:40px;
	position:relative;
	margin-bottom:0.8em;
	cursor:pointer;
}
.checkbox:hover {
	text-decoration:underline;
}
.checkbox:before, .checkbox:after {
	content:"";
	position:absolute;
	display:block;
}
.checkbox:before {
	width:22px;
	height:22px;
	background-color:#E4E4E4;
	left:-40px;
	top:2px;
	border-radius: 20%;
}
.checkbox:after {
	width:25px;
	height:22px;
	background:url('../img/check.svg');
	background-repeat:no-repeat;
	left:-38px;
	top:-3px;
	opacity:0;
	
	transition: all 0.2s;
}
input[type=checkbox]:checked + .checkbox:after {
	opacity: 1;
}
input[type=checkbox]:checked + .checkbox {
	font-weight:bold;
}







/* button */
button {
	cursor:pointer;
	font-size:1.4em;
	background-color:black;
	background-repeat:no-repeat;
	color:white;
	border:none;
	
	transition: all 0.2s;
}
button:hover {
	transform:scale(1.05,1.05);
	z-index:1;
}
button span {
	position:relative;
}
button span:before, button span:after {
	content:"";
	transition: transform 1.2s;
	
	width:22px;
	height:22px;
	position:absolute;
	display:block;
	
	bottom:0.2em;
	left:-40px;
	
	background-image:url('/svg/archive.svg');
	background-repeat:no-repeat;
	background-position:0 50%;
	transition: all 0.2s;
}
button span:after {
	opacity:0;
}
button:hover span:before {
	transform:scale(0.9,0.9) rotate(250deg);
	opacity:1;
	bottom:9px;
	bottom:calc(9px + 0.2em);
}
button:hover span:after {
	transform:scale(0.9,0.9) rotate(210deg);
	opacity:1;
	bottom:-4px;
	bottom:calc(-4px + 0.2em);
}


button.submit {
	width:345px;
	height:62px;
	background-color:inherit;
	background-image:url('../img/button_submit.svg');
	padding-right:2em;
	padding-bottom:1em;
}
button.correct {
	width:245px;
	height:62px;
	background-color:inherit;
	background-image:url('../img/button_correct.svg');
	padding-right:0em;
	padding-bottom:1em;
}


button.disabled {
	opacity:0.2;
	pointer-events:none;
}

@media only screen and (max-width:768px){
	div.submit button {
		font-size:1.2em;
		
		display:block;
		width:90%;
		max-width:300px;
		margin:0 auto;
		
		background-size:100% 100%;
		height:50px;
		padding-right:0em;
		padding-bottom:0.5em;
	}
	div.submit button:first-child {
		margin:0 auto 20px;
	}
}





/* thanks */
h2 {
	font-size:2.4em;
}
@media only screen and (max-width:768px){
	h2 {
		font-size:2.2em;
		margin-bottom:0.5em;
		line-height:1.4;
	}
}

a.back {
	font-family: 'rfa_gothic_stdregular';
	
	display:inline-block;
	position:relative;
	
	color:black;
	font-size:1.1em;
	
	margin-top:2em;
	padding-top:28px;
}
a.back:hover {
	text-decoration:underline;
}
a.back:before,a.back:after {
	content:"";
	transition: transform 1.2s;
	
	width:22px;
	height:22px;
	position:absolute;
	display:block;
	
	top:0;
	left:0px;
	
	background-image:url('/svg/more.svg');
	background-repeat:no-repeat;
	background-position:0 50%;
	transition: all 0.2s;
}
a.back:after {
	opacity:0;
}
a.back:hover:before {
	transform:scale(0.9,0.9) rotate(250deg);
	opacity:1;
	top:-5px;
}
a.back:hover:after {
	transform:scale(0.9,0.9) rotate(210deg);
	opacity:1;
	top:8px;
}
@media only screen and (max-width:768px){
	a.back {
		margin-top:1em;
	}
}


