@import url("../../fonts/main/main.css");

*, *:after, *:before { -webkit-box-sizing: border-box; box-sizing: border-box; }
.clearfix:before, .clearfix:after { content: ''; display: table; }
.clearfix:after { clear: both; }

/* Header Style */
.container > header {
	margin: 0 auto;
	padding: 2em;
	font-family: 'Main';
	text-align: center;
}


.container > header h1 {
	font-size: 2em;
	line-height: 1.3;
	margin: 0;
	font-weight: 300;
}

.container > header span {
	display: block;
	font-size: 60%;	
	padding: 0 0 0.6em 0.1em;
}

.container {
	margin: 0 auto;
	text-align: center;
	font-family: 'Main';
    font-weight: 300;
    font-style: normal;
}

.content {
	font-size: 150%;
}

body { background: white; }

input, button, select, textarea{
	font-family: 'Main';
    font-weight: 300;
    font-style: normal;
}

.input {	
	position: relative;
	z-index: 1;
	display: inline-block;
	margin: 0.5em;
	max-width: 350px;
	width: calc(100% - 2em);
	vertical-align: top;
	height: 85px;
    font-family: 'Main';
    font-weight: bold;
    font-style: normal
}

span.input.input--juro.textarea {
    max-width: 50%;
    height: 150px;
}
span.input.input--hoshi.textarea.input--filled {
    max-width: 50%;
    height: 150px;
}
textarea#req_desc {
    height: 100px;   
    margin-top: 30px;
    padding-top: 0.5em;
	resize: none;
}
.input__field {
	position: relative;
	display: block;
	float: right;

	width: 60%;
	border: none;
	border-radius: 0;
	background: #f0f0f0;
	color: #aaa;
	font-weight: bold;
	-webkit-appearance: none; /* for box shadows to show on iOS */
}

.input__field:focus {
	outline: none;
}

.input__label {
	display: inline-block;
	float: right;
	padding: 0 1em;
	width: 40%;
	color: #00568c;
	font-weight: bold;
	font-size: 60.25%;
	-webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
	-webkit-touch-callout: none;
	-webkit-user-select: none;
	-khtml-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
	letter-spacing: 3px !important;
}

.input__label-content {
	position: relative;
	display: block;
	padding: 1.6em 0;
	width: 100%;
}

.graphic {
	position: absolute;
	top: 0;
	left: 0;
	fill: none;
}

.icon {
	color: #ddd;
	font-size: 150%;
}

/* Individual styles */


/* Juro */
.input--juro {
	overflow: hidden;
	border: 1.5px solid #00568c;
}

.input__field--juro {
	position: absolute;
	z-index: 100;
	padding: 2.17em 0.75em 0;
	width: 100%;
	background: transparent;
	color: #000000;
	font-size: 0.85em;
	text-align: center;
}
.input__field--juro--green {
	position: absolute;
	z-index: 100;
	padding: 2.17em 0.75em 0;
	width: 100%;
	background: transparent;
	color: #92d400;
	font-size: 0.85em;
	text-align: center;
}

.input__label--juro {
	padding: 0;
	width: 100%;
	height: 100%;
	background: transparent;
	text-align: left;
	opacity: 0.7;	
}

.input__label-content--juro {
	padding: 2em 1em;
	-webkit-transform-origin: 0% 50%;
	transform-origin: 0% 50%;
	-webkit-transition: -webkit-transform 0.3s, color 0.3s;
	transition: transform 0.3s, color 0.3s;
	text-rendering: geometricPrecision;
	color: #00568c;
}
.input__label-content--juro--green {
	padding: 2em 1em;
	-webkit-transform-origin: 0% 50%;
	transform-origin: 0% 50%;
	-webkit-transition: -webkit-transform 0.3s, color 0.3s;
	transition: transform 0.3s, color 0.3s;
	text-rendering: geometricPrecision;
	color: #92Dd400;
}

.input__label--juro::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	border: 0px solid transparent;
	-webkit-transition: border-width 0.3s, border-color 0.3s;
	transition: border-width 0.3s, border-color 0.3s;
}

.input__field--juro:focus + .input__label--juro::before,
.input--filled .input__label--juro::before {
	border-width: 8px;
    border-color: #00568c;
    border-top-width: 2em;
    margin: 0.5px;
}

.input__field--juro:focus + .input__label--juro .input__label-content--juro,
.input--filled .input__label--juro .input__label-content--juro {
	color: #fff;
	-webkit-transform: translate3d(0, -1.5em, 0) scale3d(0.75, 0.75, 1);
	transform: translate3d(0, -1.5em, 0) scale3d(0.75, 0.75, 1) translateZ(1px);
}


/* Yoko */
.input__field--yoko {
	z-index: 10;
	width: 100%;
	background: transparent;
	color: #f5f5f5;
	opacity: 0;
	-webkit-transition: opacity 0.3s;
	transition: opacity 0.3s;
}

.input__label--yoko {
	position: relative;
	width: 100%;
	color: #006d7b;
	text-align: left;
	height:auto;
}

.input__label--yoko::before {
	content: '';
	position: absolute;
	bottom: 100%;
	left: 0;
	width: 100%;
	height: 8em;
	background: #006d7b;
	-webkit-transform: perspective(1000px) rotate3d(1, 0, 0, 90deg);
	transform: perspective(1000px) rotate3d(1, 0, 0, 90deg);
	-webkit-transform-origin: 50% 100%;
	transform-origin: 50% 100%;
	-webkit-transition: -webkit-transform 0.3s;
	transition: transform 0.3s;
}

.input__label--yoko::after {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 0.25em;
	background: #006d7b;
	-webkit-transform-origin: 50% 0%;
	transform-origin: 50% 0%;
	-webkit-transition: -webkit-transform 0.3s;
	transition: transform 0.3s;
}

.input__label-content--yoko {
	padding: 0.55em 0;
}

.input__field--yoko:focus,
.input--filled .input__field--yoko,
textarea .input__field--yoko:focus,
textarea .input--filled .input__field--yoko {
	opacity: 1;
	-webkit-transition-delay: 0.3s;
	transition-delay: 0.3s;
	font-size: 15px;
}

.input__field--yoko:focus + .input__label--yoko::before,
.input--filled .input__label--yoko::before {
	-webkit-transform: perspective(1000px) rotate3d(1, 0, 0, 0deg);
	transform: perspective(1000px) rotate3d(1, 0, 0, 0deg);
}

.input__field--yoko:focus + .input__label--yoko,
.input--filled .input__label--yoko {
	pointer-events: none;
}

.input__field--yoko:focus + .input__label--yoko::after,
.input--filled .input__label--yoko::after {
	-webkit-transform: perspective(1000px) rotate3d(1, 0, 0, -90deg);
	transform: perspective(1000px) rotate3d(1, 0, 0, -90deg);
}

/* Hoshi */
.input--hoshi {
	overflow: hidden;
}

/*.input__field--hoshi {
	margin-top: 1em;
	padding: 0.85em 0.15em;
	width: 100%;
	background: transparent;
	color: #595F6E;
	font-size: 0.85EM;
}*/

.input__field--hoshi {
    margin-top: 0.5em;
    padding: 1.5em 0.15em;
    width: 100%;
    background: transparent;
    color: #000000;
    position: absolute;
    z-index: 100;    
    font-size: 0.85em;
    text-align: center;
}

.input__label--hoshi {
	position: absolute;
	bottom: 0;
	left: 0;
	padding: 0 0.25em;
	width: 100%;
	height: calc(100% - 1em);
	text-align: left;
	pointer-events: none;
}

.input__label-content--hoshi {
	position: absolute;
}

.input__label--hoshi::before,
.input__label--hoshi::after {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: calc(100% - 10px);
	border-bottom: 1px solid #B9C1CA;
}

.input__label--hoshi::after {
	margin-top: 2px;
	border-bottom: 4px solid #00568c !important;
	-webkit-transform: translate3d(-100%, 0, 0);
	transform: translate3d(-100%, 0, 0);
	-webkit-transition: -webkit-transform 0.3s;
	transition: transform 0.3s;
}

.input__label--hoshi-color-1::after {
	border-color: hsl(200, 100%, 50%);
}

.input__label--hoshi-color-2::after {
	border-color: hsl(160, 100%, 50%);
}

.input__label--hoshi-color-3::after {
	border-color: hsl(20, 100%, 50%);
}

.input__field--hoshi:focus + .input__label--hoshi::after,
.input--filled .input__label--hoshi::after {
	-webkit-transform: translate3d(0, 0, 0);
	transform: translate3d(0, 0, 0);
}

.input__field--hoshi:focus + .input__label--hoshi .input__label-content--hoshi,
.input--filled .input__label-content--hoshi {
	-webkit-animation: anim-1 0.3s forwards;
	animation: anim-1 0.3s forwards;
}

@-webkit-keyframes anim-1 {
	50% {
		opacity: 0;
		-webkit-transform: translate3d(1em, 0, 0);
		transform: translate3d(1em, 0, 0);
	}
	51% {
		opacity: 0;
		-webkit-transform: translate3d(-1em, -40%, 0);
		transform: translate3d(-1em, -40%, 0);
	}
	100% {
		opacity: 1;
		-webkit-transform: translate3d(0, -40%, 0);
		transform: translate3d(0, -40%, 0);
	}
}

@keyframes anim-1 {
	50% {
		opacity: 0;
		-webkit-transform: translate3d(1em, 0, 0);
		transform: translate3d(1em, 0, 0);
	}
	51% {
		opacity: 0;
		-webkit-transform: translate3d(-1em, -40%, 0);
		transform: translate3d(-1em, -40%, 0);
	}
	100% {
		opacity: 1;
		-webkit-transform: translate3d(0, -40%, 0);
		transform: translate3d(0, -40%, 0);
	}
}
