@charset "utf-8";
/* ======================================================
 * app.css
 * - v1.0.0
 * ------------------------------------------------------
 * FOUNDATION
 * - Global Reset
 * - Costom Reset
 * - Base Style
 * LAYOUT
 * COMPONENTS
 * PRESETS
 * OTHERS
====================================================== */
/* ======================================================
 FOUNDATION
====================================================== */
/* Global Reset (html5doctor.com)
 * - Author: Richard Clark - http://richclarkdesign.com
------------------------------------------------------ */
/*----- for HTML5 -----*/
html,body,div,span,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,abbr,address,cite,code,del,dfn,em,img,ins,kbd,q,samp,small,strong,sub,sup,var,b,i,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,figcaption,figure,footer,header,hgroup,menu,nav,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;outline:0;font-size:100%;vertical-align:baseline;background:transparent}
body{line-height:1}
article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}
nav ul{list-style:none}
blockquote,q{quotes:none}
blockquote:before,blockquote:after,q:before,q:after{content:none}
a{margin:0;padding:0;font-size:100%;vertical-align:baseline;background:transparent}
ins{background-color:#ff9;color:#000;text-decoration:none}
mark{background-color:#ff9;color:#000;font-style:italic;font-weight:bold}
del{text-decoration:line-through}
abbr[title],dfn[title]{border-bottom:1px dotted;cursor:help}
table{border-collapse:collapse;border-spacing:0}
hr{display:block;height:1px;border:0;border-top:1px solid #ccc;margin:1em 0;padding:0}
input,select{vertical-align:middle}
*, *:before, *:after {-webkit-box-sizing: border-box;-moz-box-sizing: border-box;-ms-box-sizing: border-box;box-sizing: border-box; }

/* Costom Reset
------------------------------------------------------ */
/*----- for HTML5 -----*/
main { display: block; margin: 0; padding: 0; border: 0; outline: 0; font-size: 100%; vertical-align: baseline; background: transparent; }
h1, h2, h3, h4, h5, h6 ,small,th { font-weight: normal; }
ul, ol, li { list-style: none; }
th { text-align: left; }
strong, b { font-weight: normal; }
em,dfn { font-style: normal; }
address { font-style: normal; }
hr, legend { display: none; }
time { display: block; }
sub, sup{ position: relative; font-size: 10px; font-size: 76%; line-height: 1; }
sup { top: -0.5em; }
sub { bottom: -0.25em; }
img { max-width: 100%; width: auto; height: auto;  vertical-align: top; -ms-interpolation-mode: bicubic;}
button {outline: none;}
i {font-style: normal; }
html {font-size: 62.5%;-webkit-text-size-adjust: 100%;-ms-text-size-adjust: 100%;}

/* Base Setting
------------------------------------------------------ */
body {
	color: #444444;
	font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-size: 16px !important;
	font-size: 1.6em !important;
	line-height: 1.6 !important; }
body.state-fixed {
	position: fixed; }
input, select, textarea, button {
	font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-size: 16px;
	font-size: 1.6rem; }
.form-hidden {
	display: none; }
@media print, screen and (min-width: 768px) {
	.form-hidden-pc {
		display: none; }
}
@media screen and (max-width: 767px) {
	body {
		font-size: 13px !important;
		font-size: 1.3em !important; }
	input, select, textarea {
		-webkit-appearance: none; }
	.form-hidden-sp {
		display: none; }
}

/* ======================================================
 LAYOUT
====================================================== */
/* form-primary-header
------------------------------------------------------ */
.form-primary-header {
	border-bottom: 1px solid #e4e4e4; }
	.form-primary-header .form-primary-header_body {
		padding: 16px 0; }
		.form-primary-header .form-primary-header_branding {
			width: 140px; }
@media print, screen and (min-width: 768px) {
	.form-primary-header .form-primary-header_body {
		max-width: 1100px;
		min-width: 900px;
		margin: 0 auto; }
		.form-primary-header .brnding {
			float: left; }
}
@media screen and (max-width: 767px) {
	.form-primary-header .form-primary-header_body {
		padding: 10px 3.9%; }
		.form-primary-header .form-primary-header_branding {
			width: 80px;
			margin: 0 auto; }
}

/* form-contents
------------------------------------------------------ */
.form-contents_body {
	padding: 40px 0 70px; }
	.form-contents_body > .editable-component:first-child > *:first-child,
	.form-contents_body > .form-component:first-child > *:first-child,
	.form-contents_body > *:first-child > .editable-component:first-child > *:first-child,
	.form-contents_body > *:first-child > .form-component:first-child > *:first-child {
		margin-top: 0 !important; }
	.form-contents_body > .editable-component:last-child > *:last-child,
	.form-contents_body > .form-component:last-child > *:last-child,
	.form-contents_body > *:last-child > .editable-component:last-child > *:last-child,
	.form-contents_body > *:last-child > .form-component:last-child > *:last-child {
		margin-bottom: 0 !important; }
@media print, screen and (min-width: 768px) {
	.form-contents_body {
		width: 900px;
		margin: 0 auto; }
}
@media screen and (max-width: 767px) {
	.form-contents_body {
		padding: 30px 3.9%; }
}

/* ----- form-flow ----- */
.form-flow {
	margin-bottom: 30px; }
	.form-flow > *:last-child {
		margin-bottom: 0 !important; }
/* form-flow-chart */
.form-flow-chart {
	display: table;
	width: 100%;
	margin: 30px 0;
	table-layout: fixed; }
	.form-flow-chart > li {
		position: relative;
		display: table-cell;
		padding-top: 60px;
		font-size: 18px;
		font-size: 1.8rem;
		font-weight: bold;
		line-height: 1.2;
		text-align: center;
		counter-increment: form-flow; }
	.form-flow-chart > li:before {
		content: "";
		position: absolute;
		top: 0.75em;
		left: -50%;
		display: block;
		width: 100%;
		height: 4px;
		margin-top: -2px;
		font-size: 32px;
		font-size: 3.2rem; }
	.form-flow-chart > li:nth-child(1):before {
		left: 0;
		width: 50%; }
	.form-flow-chart > li:nth-child(3):before {
		width: 150%; }
	.form-flow-chart > li:after {
		content:counter(form-flow);
		position: absolute;
		top: 0;
		left: 50%;
		display: block;
		width: 1.5em;
		height: 1.5em;
		margin-left: -0.75em;
		padding: 0.25em 5px;
		-webkit-border-radius: 50%;
		-moz-border-radius: 50%;
		border-radius: 50%;
		font-size: 32px;
		font-size: 3.2rem;
		font-weight: bold;
		line-height: 1;
		z-index: 2; }
@media screen and (max-width: 767px) {
	.form-flow {
		margin-bottom: 25px; }
	/* form-flow-chart */
	.form-flow-chart {
		margin: 25px 0; }
		.form-flow-chart > li {
			padding-top: 45px;
			font-size: 13px;
			font-size: 1.3rem; }
		.form-flow-chart > li:before {
			top: 0.75em;
			height: 2px;
			margin-top: -1px;
			font-size: 20px;
			font-size: 2rem; }
		.form-flow-chart > li:after {
			font-size: 20px;
			font-size: 2rem; }
}

/* ----- form-app ----- */
.form-app,
.form-correct,
.form-exit {
	margin: 50px 0; }
@media screen and (max-width: 767px) {
	.form-app,
	.form-correct,
	.form-exit {
		margin: 30px 0; }
}

/* ----- form-privacy ----- */
.form-privacy {
	margin: 50px 0 25px; }
/* form-privacy-box */
.form-privacy-box {
	overflow-y: scroll;
	height: 255px;
	border: 1px solid #e7e7e7; }
	.form-privacy-box .form-privacy-box_body {
		padding: 30px; }
		.form-privacy-box .form-privacy-box_body > *:first-child {
			margin-top: 0 !important; }
		.form-privacy-box .form-privacy-box_body > *:last-child {
			margin-bottom: 0 !important; }
		.form-privacy-box .form-privacy-box_title {
			margin-bottom: 1em;
			font-size: 18px;
			font-size: 1.8rem;
			font-weight: bold;
			line-height: 1.2;}
		.form-privacy-box .form-privacy-box_text {
			margin-bottom: 1em;
			font-size: 14px;
			font-size: 1.4rem; }
@media screen and (max-width: 767px) {
	.form-privacy {
		margin: 25px 0 15px; }
	/* form-privacy-box */
	.form-privacy-box {
		height: 150px; }
		.form-privacy-box .form-privacy-box_body {
			padding: 12px 15px; }
			.form-privacy-box .form-privacy-box_title {
				margin-bottom: 0.8em;
				font-size: 16px;
				font-size: 1.6rem; }
			.form-privacy-box .form-privacy-box_text {
				font-size: 11px;
				font-size: 1.1rem; }
}

/* ----- form-submit ----- */
.form-submit {
	margin: 50px 0; }
/* form-submit-button */
.form-submit-button,
.form-comfirmed-button {
	position: relative;
	display: block;
	width: 100%;
	padding: 30px 70px 28px;
	border: none;
	-webkit-border-radius: 4px;
	-moz-border-radius: 4px;
	border-radius: 4px;
	font-size: 28px;
	font-size: 2.8rem;
	font-weight: bold;
	line-height: 1.2;
	text-align: center;
	text-decoration: none;
	-webkit-transition: opacity 0.2s ease-out;
	-moz-transition: opacity 0.2s ease-out;
	-ms-transition: opacity 0.2s ease-out;
	transition: opacity 0.2s ease-out; }
.form-submit-button[type="submit"],
.form-comfirmed-button[type="submit"] {
	cursor: pointer; }
[data-form-submit="true"] .form-submit-button[type="submit"],
[data-form-submit="false"] .form-submit-button[type="button"] {
	opacity: 1; }
[data-form-submit=""] .form-submit-button[type="button"],
[data-form-submit="true"] .form-submit-button[type="button"],
[data-form-submit="false"] .form-submit-button[type="submit"] {
	position: absolute;
	left: -9999px;
	opacity: 0;
	z-index: -1; }
	.form-submit-button:before,
	.form-comfirmed-button:before {
		content: "";
		position: absolute;
		top: 50%; }
	.form-submit-button[type="submit"]:before,
	.form-comfirmed-button[type="submit"]:before {
		left: 22px;
		width: 20px;
		height: 20px;
		margin-top: -9px;
		border-top: 2px solid #ffffff;
		border-right: 2px solid #ffffff;
		-webkit-transform: rotate(45deg);
		-ms-transform: rotate(45deg);
		transform: rotate(45deg); }
	.form-submit-button[type="button"]:before {
		left: 20px;
		width: 44px;
		height: 38px;
		margin-top: -19px;
		background-repeat: no-repeat;
		background-position: -48px 0; }
@media print, screen and (min-width: 768px) {
	[data-form-submit=""] .form-submit-button[type="submit"]:hover,
	[data-form-submit="true"] .form-submit-button[type="submit"]:hover,
	.form-comfirmed-button[type="submit"]:hover {
		opacity: 0.8; }
}
@media screen and (max-width: 767px) {
	.form-submit {
		margin: 30px 0; }
	/* form-submit-button */
	.form-submit-button,
	.form-comfirmed-button {
		padding: 20px 20px 18px 35px;
		font-size: 14px;
		font-size: 1.4rem; }
		.form-submit-button[type="submit"]:before,
		.form-comfirmed-button[type="submit"]:before {
			left: 10px;
			width: 14px;
			height: 14px;
			margin-top: -7px; }
		.form-submit-button[type="button"]:before {
			left: 10px;
			width: 22px;
			height: 19px;
			margin-top: -10px;
			background-size: 250px auto;
			background-position: -24px 0; }
}

/* ----- form-correct-button ----- */
.form-correct-button {
	position: relative;
	display: block;
	width: 60%;
	margin: 0 auto;
	padding: 20px 70px 18px;
	border: 1px solid #a9a9a9;
	background-color: #ffffff;
	-webkit-border-radius: 4px;
	-moz-border-radius: 4px;
	border-radius: 4px;
	font-size: 20px;
	font-size: 2rem;
	font-weight: bold;
	line-height: 1.2;
	text-align: center;
	text-decoration: none;
	cursor: pointer;
	-webkit-transition: background-color 0.2s ease-out;
	-moz-transition: background-color 0.2s ease-out;
	-ms-transition: background-color 0.2s ease-out;
	transition: background-color 0.2s ease-out; }
	.form-correct-button:before {
		content: "";
		position: absolute;
		top: 50%;
		left: 22px;
		width: 15px;
		height: 15px;
		margin-top: -6px;
		border-top: 2px solid #a9a9a9;
		border-left: 2px solid #a9a9a9;
		-webkit-transform: rotate(-45deg);
		-ms-transform: rotate(-45deg);
		transform: rotate(-45deg); }
@media print, screen and (min-width: 768px) {
	.form-correct-button:hover {
		background-color: #f7f7f7; }
}
@media screen and (max-width: 767px) {
	/* form-correct-button */
	.form-correct-button {
		min-width: 250px;
		padding: 15px 20px 13px 35px;
		font-size: 14px;
		font-size: 1.4rem; }
		.form-correct-button:before {
			left: 10px;
			width: 14px;
			height: 14px;
			margin-top: -7px; }
}

/* ----- form-exit-button ----- */
.form-exit-button {
	position: relative;
	display: block;
	width: 60%;
	margin: 0 auto;
	padding: 20px 70px 18px;
	border: none;
	-webkit-border-radius: 4px;
	-moz-border-radius: 4px;
	border-radius: 4px;
	font-size: 20px;
	font-size: 2rem;
	font-weight: bold;
	line-height: 1.2;
	text-align: center;
	text-decoration: none;
	cursor: pointer;
	-webkit-transition: opacity 0.2s ease-out;
	-moz-transition: opacity 0.2s ease-out;
	-ms-transition: opacity 0.2s ease-out;
	transition: opacity 0.2s ease-out; }
	.form-exit-button:before {
		content: "";
		position: absolute;
		top: 50%;
		left: 22px;
		width: 15px;
		height: 15px;
		margin-top: -6px;
		border-top: 2px solid #ffffff;
		border-right: 2px solid #ffffff;
		-webkit-transform: rotate(45deg);
		-ms-transform: rotate(45deg);
		transform: rotate(45deg); }
@media print, screen and (min-width: 768px) {
	.form-exit-button:hover {
		opacity: 0.8; }
}
@media screen and (max-width: 767px) {
	/* form-exit-button */
	.form-exit-button {
		min-width: 250px;
		padding: 15px 20px 13px 35px;
		font-size: 14px;
		font-size: 1.4rem; }
		.form-exit-button:before {
			left: 10px;
			width: 14px;
			height: 14px;
			margin-top: -7px; }
}

/* ----- form-ssl-certificate ----- */
.form-ssl-certificate {
	margin: 40px 0; }
	.form-ssl-certificate > *:first-child {
		margin-top: 0 !important; }
	.form-ssl-certificate > *:last-child {
		margin-bottom: 0 !important; }
/* form-media-ssl */
.form-media-ssl .form-media-ssl_seal {
	float: left;
	margin-right: 20px; }
.form-media-ssl .form-media-ssl_detail {
	overflow: hidden; }
	.form-media-ssl .form-media-ssl_detail > *:first-child {
		margin-top: 0 !important; }
	.form-media-ssl .form-media-ssl_detail > *:last-child {
		margin-bottom: 0 !important; }
	.form-media-ssl .form-media-ssl_detail .form-text {
		margin-bottom: 0.6em;
		font-size: 14px;
		font-size: 1.4rem; }
@media screen and (max-width: 767px) {
	.form-ssl-certificate {
		margin: 25px 0; }
	/* form-media-ssl */
	.form-media-ssl .form-media-ssl_seal {
		margin-right: 12px; }
}

/* form-primary-footer
------------------------------------------------------ */
.form-primary-footer {
	border-top: 1px solid #e4e4e4; }
	.form-primary-footer .form-primary-footer_body {
		padding: 40px 0 80px; }
		.form-primary-footer .form-primary-footer_legal {
			text-align: center; }
			.form-primary-footer .form-primary-footer_copyright {
				color: #8d8d8d;
				font-size: 14px;
				font-size: 1.4rem; }
@media print, screen and (min-width: 768px) {
	.form-primary-footer .form-primary-footer_body {
		max-width: 1100px;
		min-width: 900px;
		margin: 0 auto; }
}
@media screen and (max-width: 767px) {
	.form-primary-footer .form-primary-footer_body {
		padding: 18px 0; }
		.form-primary-footer .form-primary-footer_copyright {
			color: #333333;
			font-size: 10px;
			font-size: 1rem; }
}

/* form-pagetop
------------------------------------------------------ */
.form-pagetop {
	position: fixed;
	display: none;
	z-index: 100; }
	.form-pagetop .form-pagetop_link {
		display: block;
		width: 70px;
		height: 70px;
		background-repeat: no-repeat;
		background-position: -152px 0;
		text-indent: -9999px;
		cursor: pointer;
		outline: none;
		opacity: 1;
		-webkit-transition: opacity 0.2s ease-out;
		-moz-transition: opacity 0.2s ease-out;
		-ms-transition: opacity 0.2s ease-out;
		transition: opacity 0.2s ease-out; }
@media print, screen and (min-width: 768px) {
	.form-pagetop {
		bottom: 75px;
		right: 50%;
		margin-right: -600px; }
		.form-pagetop .form-pagetop_link:hover {
			opacity: 0.8; }
}
@media screen and (max-width: 767px) {
	.form-pagetop {
		bottom: 1.9%;
		right: 1.9%; }
		.form-pagetop .form-pagetop_link {
			width: 49px;
			height: 49px;
			background-size: 350px auto;
			background-position: -106px 0; }
}

/* ======================================================
 COMPONENTS
====================================================== */
/* form-component
------------------------------------------------------ */
.form-component {
	margin: 30px 0;
	padding: 11px 0 30px;
	border-top: 1px solid #e7e7e7;
	border-bottom: 1px solid #e7e7e7;
	background-color: #ffffff;
	line-height: 1.2;
	-webkit-transition: background-color 0.2s ease-out;
	-moz-transition: background-color 0.2s ease-out;
	-ms-transition: background-color 0.2s ease-out;
	transition: background-color 0.2s ease-out; }
.form-component + .form-component {
	margin-top: -30px;
	border-top: none; }
.form-component + .form-component.form-no-separater {
	margin-top: -40px;
	padding: 0 0 30px; }
	.form-component .form-component_label {
		letter-spacing: -0.4em; }
		.form-component .form-component_label > label,
		.form-component .form-component_label:after {
			letter-spacing: normal; }
		.form-component .form-component_label > label {
			font-size: 16px;
			font-size: 1.6rem;
			font-weight: bold; }
	.form-component .form-component_field {
		font-size: 15px;
		font-size: 1.5rem; }
		.form-component .form-component_field > * {
			margin-bottom: 15px; }
		.form-component .form-component_field > *:last-child {
			margin-bottom: 0 !important; }
@media print, screen and (min-width: 768px) {
	.form-component .form-component_name,
	.form-component .form-component_field {
		float: left; }
	.form-component .form-component_name {
		margin-top: 20px;
		padding-right: 15px;
		width: 170px;
		clear: left; }
		.form-component .form-component_label > label {
			display: block;
			margin-bottom: 5px; }
	.form-component .form-component_field {
		margin-top: 15px;
		width: 730px; }
	.form-component + .form-component.form-no-separater .form-component_name {
		margin-top: 5px; }
	.form-component + .form-component.form-no-separater .form-component_field {
		margin-top: 0; }
}
@media screen and (max-width: 767px) {
	.form-component {
		display: block;
		margin: 25px -4.2%;
		padding: 13px 4.2% 25px; }
	.form-component + .form-component {
		margin-top: -25px; }
	.form-component + .form-component.form-no-separater {
		margin-top: -35px;
		padding: 0 4.2% 25px; }
		.form-component .form-component_name {
			margin-bottom: 10px; }
			.form-component .form-component_label > label {
				line-height: 1.4;
				font-size: 16px;
				font-size: 1.6rem; }
		.form-component .form-component_field {
			font-size: 12px;
			font-size: 1.2rem; }
			.form-component .form-component_field > * {
				margin-bottom: 13px; }
}

/* form-tag
------------------------------------------------------ */
.form-tag,
.form-tag-required,
.form-tag-optional,
.form-required .form-component_label:after,
.form-optional .form-component_label:after {
	display: inline-block;
	margin: 0 10px;
	padding: 4px 4px 3px;
	line-height: 1;
	vertical-align: middle;
	font-weight: bold; }
.form-required .form-component_label:after,
.form-optional .form-component_label:after {
	margin-right: 0; }
.form-no-tag .form-component_label:after {
	content: normal !important;
}
@media print, screen and (min-width: 768px) {
	.form-required .form-component_label:after,
	.form-optional .form-component_label:after {
		font-size: 14px;
		font-size: 1.4rem;
		margin-left: 0; }
}
@media screen and (max-width: 767px) {
	.form-tag,
	.form-tag-required,
	.form-tag-optional,
	.form-required .form-component_label:after,
	.form-optional .form-component_label:after {
		padding: 4px 4px 3px;
		font-size: 11px;
		font-size: 1.1rem; }
	.form-required .form-component_label:after,
	.form-optional .form-component_label:after {
		position: relative;
		top: -3px; }
}

/* form-item
------------------------------------------------------ */
.form-item-text > *:last-child,
.form-item-select > *:last-child,
.form-item-ticks > *:last-child {
	margin-bottom: 0 !important; }
.form-item-text > *:not(.form-error-comment) {
	width: 60.9589%; }
.form-item-small > *:not(.form-error-comment) {
	width: 34.2465%; }
.form-item-large > *:not(.form-error-comment) {
	width: 100%; }
@media screen and (max-width: 767px) {
	.form-item-text > *:not(.form-error-comment),
	.form-item-large > *:not(.form-error-comment) {
		width: 100%; }
	.form-item-small > *:not(.form-error-comment) {
		width: 60%; }
}

/* form-textfield
------------------------------------------------------ */
.form-textfield {
	position: relative;
	display: block;
	border: 1px solid #a9a9a9;
	-webkit-border-radius: 4px;
	-moz-border-radius: 4px;
	border-radius: 4px;
	background-color: #ffffff;
	font-size: 18px;
	font-size: 1.8rem;
	-webkit-transition: background-color 0.2s ease-out, border-color 0.2s ease-out;
	-moz-transition: background-color 0.2s ease-out, border-color 0.2s ease-out;
	-ms-transition: background-color 0.2s ease-out, border-color 0.2s ease-out;
	transition: background-color 0.2s ease-out, border-color 0.2s ease-out; }
	.form-textfield input,
	.form-textfield textarea {
		position: relative;
		display: block;
		width: 100%;
		margin: 0;
		padding: 1.1em 20px 0.9em;
		border: none;
		-webkit-border-radius: 4px;
		-moz-border-radius: 4px;
		border-radius: 4px;
		background: none;
		font-size: 18px;
		font-size: 1.8rem;
		z-index: 2;
		outline: none; }
	.form-textfield .floting-place-holder {
		padding: 1.6em 20px 0.4em; }
	.form-textfield textarea {
		resize: vertical; }
	.form-textfield input[data-input-calender] {
		cursor: text; }
	.form-textfield input:disabled,
	.form-textfield textarea:disabled,
	.form-textfield input.linkage-disabled,
	.form-textfield textarea.linkage-disabled {
		background-color: #d5d5d5;
		opacity: 1;
		cursor: default; }
	.form-textfield .eg-label {
		overflow: hidden;
		position: absolute;
		top: calc(50% - 0.6em);
		left: 0;
		width: calc(100% - 40px);
		margin: 0 20px;
		line-height: 1.4;
		white-space: nowrap;
		-webkit-transition: all 0.2s ease-out;
		-moz-transition: all 0.2s ease-out;
		-ms-transition: all 0.2s ease-out;
		transition: all 0.2s ease-out; }
		.form-textfield textarea + .eg-label {
			top: 1em; }
	.form-textfield.state-focused .eg-label,
	.form-textfield.state-done .eg-label {
		top: 0.9em;
		font-size: 12px;
		font-size: 1.2rem;
		line-height: 1.1;
		z-index: 1; }
	.form-textfield.state-focused textarea.floting-place-holder,
		.form-textfield.state-done textarea.floting-place-holder {
			margin-top: 1.6em;
			padding-top: 0; }
@media screen and (max-width: 767px) {
	.form-textfield {
		font-size: 15px;
		font-size: 1.5rem; }
		.form-textfield input,
		.form-textfield textarea {
			position: relative;
			display: block;
			padding: 0.9em 10px 0.7em;
			font-size: 16px;
			font-size: 1.65rem;
			line-height: 1.4; }
		.form-textfield .floting-place-holder {
			padding: 1.3em 10px 0.3em; }
		.form-textfield .eg-label {
			width: calc(100% - 20px);
			margin: 0 10px; }
		.form-textfield.state-focused .eg-label,
		.form-textfield.state-done .eg-label {
			top: 0.5em;
			font-size: 10px;
			font-size: 1rem; }
		.form-textfield.state-focused textarea.floting-place-holder,
		.form-textfield.state-done textarea.floting-place-holder {
			margin-top: 1.3em; }
}

/* ----- form-wordview ----- */
.form-wordview {
	margin-top: 15px;
	text-align: right;
	font-size: 12px;
	font-size: 1.2rem; }
@media screen and (max-width: 767px) {
	.form-wordview {
		margin-top: 13px;
		font-size: 11px;
		font-size: 1.1rem; }
}

/* form-selectfield
------------------------------------------------------ */
.form-selectfield {
	position: relative;
	display: inline-block;
	border: 1px solid #a9a9a9;
	-webkit-border-radius: 4px;
	-moz-border-radius: 4px;
	border-radius: 4px;
	background-color: #ffffff;
	-webkit-transition: background-color 0.2s ease-out, border-color 0.2s ease-out;
	-moz-transition: background-color 0.2s ease-out, border-color 0.2s ease-out;
	-ms-transition: background-color 0.2s ease-out, border-color 0.2s ease-out;
	transition: background-color 0.2s ease-out, border-color 0.2s ease-out; }
	.form-selectfield:after {
		content: "";
		position: absolute;
		top: 50%;
		right: 15px;
		display: block;
		width: 0;
		height: 0;
		margin-top: -5px;
		border-style: solid;
		border-width: 11px 7px 0 7px;
		border-color: #515151 transparent transparent transparent;
		z-index: 1; }
	.form-selectfield select {
		position: relative;
		-webkit-appearance: none;
		-moz-appearance: none;
		padding: 1.1em 60px 0.9em 20px;
		border: none;
		background: none;
		font-size: 18px;
		font-size: 1.8rem;
		line-height: 1.4;
		text-transform: none;
		outline: none;
		cursor: pointer;
		z-index: 2;
		-webkit-transition: color 0.2s ease-out;
		-moz-transition: color 0.2s ease-out;
		-ms-transition: color 0.2s ease-out;
		transition: color 0.2s ease-out; }
	.form-item-small .form-selectfield,
	.form-item-large .form-selectfield {
		display: block; }
	.form-item-small select,
	.form-item-large select {
		display: block;
		width: 100%; }
	.form-selectfield select::-ms-expand {
		display: none; }
@media print, screen and (min-width: 768px) {
	.form-selectfield.state-focused select,
	.form-selectfield.state-error select,
	.form-selectfield.state-done select,
	.form-selectfield.state-focused select option,
	.form-selectfield.state-error select option,
	.form-selectfield.state-done select option {
		color: #444444 !important; }
}
@media screen and (max-width: 767px) {
	.form-selectfield:before {
		border-width: 10px 6px 0 6px; }
	.form-selectfield:after {
		right: 10px;
		border-width: 10px 6px 0 6px; }
	.form-selectfield select {
		padding: 0.9em 50px 0.7em 10px;
		font-size: 16px;
		font-size: 1.65rem; }
}

/* form-ticksfield
------------------------------------------------------ */
.form-ticksfield {
	overflow: hidden;
	display: block;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-flow: row wrap;
	flex-flow: row wrap;
	-webkit-justify-content: flex-start;
	justify-content: flex-start;
	border: 1px solid #a9a9a9;
	-webkit-border-radius: 4px;
	-moz-border-radius: 4px;
	border-radius: 4px;
	background-color: #ffffff;
	-webkit-transition: background-color 0.2s ease-out, border-color 0.2s ease-out;
	-moz-transition: background-color 0.2s ease-out, border-color 0.2s ease-out;
	-ms-transition: background-color 0.2s ease-out, border-color 0.2s ease-out;
	transition: background-color 0.2s ease-out, border-color 0.2s ease-out; }
	.form-ticksfield input[type="checkbox"],
	.form-ticksfield input[type="radio"] {
		display: none; }
	.form-ticksfield input[type="checkbox"] + label,
	.form-ticksfield input[type="radio"] + label {
		position: relative;
		display: block;
		display: -webkit-flex;
		display: flex;
		-webkit-align-items: center;
		align-items: center;
		width: 100%;
		min-height: 3.7333em;
		padding: 1em 20px 0.8em 49px;
		border-bottom: 1px solid #a9a9a9;
		cursor: pointer;
		vertical-align: middle;
		-webkit-transition: background-color 0.2s ease-out, border-color 0.2s ease-out;
		-moz-transition: background-color 0.2s ease-out, border-color 0.2s ease-out;
		-ms-transition: background-color 0.2s ease-out, border-color 0.2s ease-out;
		transition: background-color 0.2s ease-out, border-color 0.2s ease-out; }
	.form-ticksfield input[type="checkbox"] + label:last-child,
	.form-ticksfield input[type="radio"] + label:last-child,
	.form-ticksfield input[type="checkbox"] + label.state-lastrow,
	.form-ticksfield input[type="radio"] + label.state-lastrow {
		border-bottom: none; }
		.form-ticksfield input[type="checkbox"]:checked + label,
		.form-ticksfield input[type="radio"]:checked + label {
			background-color: #f7f7f7; }
		.form-ticksfield input[type="checkbox"]:disabled + label,
		.form-ticksfield input[type="radio"]:disabled + label,
		label.state-disabled {
			background-color: #d5d5d5 !important;
			cursor: default; }
			.form-ticksfield input[type="checkbox"] + label:before,
			.form-ticksfield input[type="radio"] + label:before {
				content: "";
				position: absolute;
				top: 50%;
				display: block;
				border: 1px solid #9a9a9a;
				background-color: #ffffff; }
			.form-ticksfield input[type="checkbox"]:disabled + label:before,
			.form-ticksfield input[type="radio"]:disabled + label:before {
				background-color: #c9c9c9; }
			.form-ticksfield input[type="checkbox"] + label:after,
			.form-ticksfield input[type="radio"] + label:after {
				content: "";
				position: absolute;
				top: 50%;
				left: 19px;
				display: block;
				opacity: 0;
				-webkit-transition: opacity 0.2s ease-out;
				-moz-transition: opacity 0.2s ease-out;
				-ms-transition: opacity 0.2s ease-out;
				transition: opacity 0.2s ease-out; }
			.form-ticksfield input[type="checkbox"]:checked + label:after,
			.form-ticksfield input[type="radio"]:checked + label:after {
				opacity: 1; }
@media print, screen and (min-device-width: 769px) {
	.form-ticksfield input[type="checkbox"] + label:hover,
	.form-ticksfield input[type="radio"] + label:hover {
			background-color: #f7f7f7; } }
@media screen and (max-width: 767px) {
	.form-ticksfield input[type="checkbox"] + label,
	.form-ticksfield input[type="radio"] + label {
		padding: 1em 10px 0.8em 40px;
		font-size: 13px;
		font-size: 1.3rem; }
			.form-ticksfield input[type="checkbox"] + label:before,
			.form-ticksfield input[type="radio"] + label:before {
				content: "";
				position: absolute;
				top: 50%;
				display: block;
				border: 1px solid #9a9a9a;
				background-color: #ffffff; }
			.form-ticksfield input[type="checkbox"] + label:after,
			.form-ticksfield input[type="radio"] + label:after {
				left: 14px; }
}

/* ----- checkbox ----- */
.form-ticksfield input[type="checkbox"] + label:before {
	left: 15px;
	width: 18px;
	height: 18px;
	margin-top: -9px; }
.form-ticksfield input[type="checkbox"] + label:after {
	width: 10px;
	height: 14px;
	margin-top: -9px;
	border-width: 0 3px 3px 0;
	border-style: solid;
	-webkit-transform: rotate(45deg);
	-ms-transform: rotate(45deg);
	transform: rotate(45deg); }
@media screen and (max-width: 767px) {
.form-ticksfield input[type="checkbox"] + label:before {
	left: 10px; }
}

/* ----- radio ----- */
.form-ticksfield input[type="radio"] + label:before {
	left: 14px;
	width: 20px;
	height: 20px;
	margin-top: -10px;
	-webkit-border-radius: 50%;
	-moz-border-radius: 50%;
	border-radius: 50%; }
.form-ticksfield input[type="radio"] + label:after {
	width: 10px;
	height: 10px;
	margin-top: -5px;
	-webkit-border-radius: 50%;
	-moz-border-radius: 50%;
	border-radius: 50%; }
@media screen and (max-width: 767px) {
.form-ticksfield input[type="radio"] + label:before {
	left: 9px; }
}

/* ----- row ----- */
.form-item-ticks-row-auto .form-ticksfield input[type="checkbox"] + label,
	.form-item-ticks-row-auto .form-ticksfield input[type="radio"] + label {
		border-bottom: none;
		border-right: 1px solid #a9a9a9; }
	.form-item-ticks-row-auto .form-ticksfield input[type="checkbox"] + label:last-child,
	.form-item-ticks-row-auto .form-ticksfield input[type="radio"] + label:last-child {
		border-right: none; }
/* row-auto */
.form-item-ticks-row-auto .form-ticksfield {
	display: inline-block;
	display: -webkit-inline-box;
	display: inline-flex;
	-webkit-flex-flow: row nowrap;
	flex-flow: row nowrap; }
@media print, screen and (min-width: 768px) {
	.form-item-ticks-row-pc--2-sp--1 .form-ticksfield input[type="checkbox"] + label,
	.form-item-ticks-row-pc--2-sp--2 .form-ticksfield input[type="checkbox"] + label,
	.form-item-ticks-row-pc--3-sp--2 .form-ticksfield input[type="checkbox"] + label,
	.form-item-ticks-row-pc--4-sp--2 .form-ticksfield input[type="checkbox"] + label,
	.form-item-ticks-row-pc--2-sp--1 .form-ticksfield input[type="radio"] + label,
	.form-item-ticks-row-pc--2-sp--2 .form-ticksfield input[type="radio"] + label,
	.form-item-ticks-row-pc--3-sp--2 .form-ticksfield input[type="radio"] + label,
	.form-item-ticks-row-pc--4-sp--2 .form-ticksfield input[type="radio"] + label {
		border-right: 1px solid #a9a9a9; }
	.form-item-ticks-row-pc--2-sp--1 .form-ticksfield input[type="checkbox"] + label:nth-child(4n+1),
	.form-item-ticks-row-pc--2-sp--2 .form-ticksfield input[type="checkbox"] + label:nth-child(4n+1),
	.form-item-ticks-row-pc--3-sp--2 .form-ticksfield input[type="checkbox"] + label:nth-child(6n+1),
	.form-item-ticks-row-pc--4-sp--2 .form-ticksfield input[type="checkbox"] + label:nth-child(8n+1),
	.form-item-ticks-row-pc--2-sp--1 .form-ticksfield input[type="radio"] + label:nth-child(4n+1),
	.form-item-ticks-row-pc--2-sp--2 .form-ticksfield input[type="radio"] + label:nth-child(4n+1),
	.form-item-ticks-row-pc--3-sp--2 .form-ticksfield input[type="radio"] + label:nth-child(6n+1),
	.form-item-ticks-row-pc--4-sp--2 .form-ticksfield input[type="radio"] + label:nth-child(8n+1) {
		border-right: none; }
	/* row-auto */
		.form-item-ticks-row-auto .form-ticksfield input[type="checkbox"] + label,
		.form-item-ticks-row-auto .form-ticksfield input[type="radio"] + label {
			min-width: 180px;
			width: auto;
			padding-right: 50px; }
	/* row-2 */
	.form-item-ticks-row-pc--2-sp--1 .form-ticksfield input[type="checkbox"] + label,
	.form-item-ticks-row-pc--2-sp--1 .form-ticksfield input[type="radio"] + label,
	.form-item-ticks-row-pc--2-sp--2 .form-ticksfield input[type="checkbox"] + label,
	.form-item-ticks-row-pc--2-sp--2 .form-ticksfield input[type="radio"] + label {
		width: 50%; }
	/* row-3 */
	.form-item-ticks-row-pc--3-sp--2 .form-ticksfield input[type="checkbox"] + label,
	.form-item-ticks-row-pc--3-sp--2 .form-ticksfield input[type="radio"] + label {
		width: 33.3%; }
	.form-item-ticks-row-pc--3-sp--2 .form-ticksfield input[type="checkbox"] + label:nth-child(6n),
	.form-item-ticks-row-pc--3-sp--2 .form-ticksfield input[type="radio"] + label:nth-child(6n) {
		width: 33.4%; }
	/* row-4 */
	.form-item-ticks-row-pc--4-sp--2 .form-ticksfield input[type="checkbox"] + label,
	.form-item-ticks-row-pc--4-sp--2 .form-ticksfield input[type="radio"] + label {
		width: 25%; }
}
@media screen and (max-width: 767px) {
	/* row-2 */
	.form-item-ticks-row-pc--2-sp--2 .form-ticksfield input[type="checkbox"] + label,
	.form-item-ticks-row-pc--3-sp--2 .form-ticksfield input[type="checkbox"] + label,
	.form-item-ticks-row-pc--4-sp--2 .form-ticksfield input[type="checkbox"] + label,
	.form-item-ticks-row-pc--2-sp--2 .form-ticksfield input[type="radio"] + label,
	.form-item-ticks-row-pc--3-sp--2 .form-ticksfield input[type="radio"] + label,
	.form-item-ticks-row-pc--4-sp--2 .form-ticksfield input[type="radio"] + label {
		border-right: 1px solid #a9a9a9;
		width: 50%; }
	.form-item-ticks-row-auto .form-ticksfield input[type="checkbox"] + label,
	.form-item-ticks-row-auto .form-ticksfield input[type="radio"] + label {
		width: calc(50vw - (100vw * 0.042)); }
	.form-item-ticks-row-auto .form-ticksfield input[type="checkbox"] + label:nth-child(4n+1),
	.form-item-ticks-row-auto .form-ticksfield input[type="radio"] + label:nth-child(4n+1),
	.form-item-ticks-row-pc--2-sp--2 .form-ticksfield input[type="checkbox"] + label:nth-child(4n+1),
	.form-item-ticks-row-pc--3-sp--2 .form-ticksfield input[type="checkbox"] + label:nth-child(4n+1),
	.form-item-ticks-row-pc--4-sp--2 .form-ticksfield input[type="checkbox"] + label:nth-child(4n+1),
	.form-item-ticks-row-pc--2-sp--2 .form-ticksfield input[type="radio"] + label:nth-child(4n+1),
	.form-item-ticks-row-pc--3-sp--2 .form-ticksfield input[type="radio"] + label:nth-child(4n+1),
	.form-item-ticks-row-pc--4-sp--2 .form-ticksfield input[type="radio"] + label:nth-child(4n+1) {
		border-right: none; }
}

/* text component
------------------------------------------------------ */
/* ----- form-heading ----- */
.form-heading {
	line-height: 1.2;
	margin: 2em 0 0.75em; }
/* h1 - h4 */
h1.form-heading {
	font-size: 34px;
	font-size: 3.4rem; }
h2.form-heading {
	font-size: 30px;
	font-size: 3rem;
	font-weight: bold; }
h3.form-heading {
	font-size: 26px;
	font-size: 2.6rem;
	font-weight: bold; }
h4.form-heading {
	font-size: 20px;
	font-size: 2rem;
	font-weight: bold; }
@media screen and (max-width: 767px) {
	h1.form-heading {
		font-size: 24px;
		font-size: 2.4rem; }
	h2.form-heading {
		font-size: 22px;
		font-size: 2.2rem; }
	h3.form-heading {
		font-size: 18px;
		font-size: 1.8rem; }
	h4.form-heading {
		font-size: 15px;
		font-size: 1.5rem; }
}

/* ----- form-text ----- */
.form-text {
	margin-bottom: 1.2em; }
.form-lead {
	font-size: 18px;
	font-size: 1.8rem;
	font-weight: bold; }
.form-catch {
	font-weight: bold; }
.form-link {
	text-decoration: underline !important; }
	.form-link[target="_blank"]:after {
		content: "";
		position: relative;
		top: 2px;
		display: inline-block;
		width: 15px;
		height: 15px;
		margin: 0 5px;
		background-repeat: no-repeat;
		background-position: 0 0; }
.form-error-comment {
	margin-top: 15px;
	font-size: 16px;
	font-size: 1.6rem;
	font-weight: bold; }
@media print, screen and (min-width: 768px) {
	.form-link:hover {
		text-decoration: none !important; }
}
@media screen and (max-width: 767px) {
	.form-text {
		margin-bottom: 1em; }
	.form-lead {
		font-size: 14px;
		font-size: 1.4rem; }
		.form-link[target="_blank"]:after {
			width: 12px;
			height: 12px;
			background-size: 250px auto;
			background-position: -10px 0; }
	.form-error-comment {
		font-size: 13px;
		font-size: 1.3rem;
		margin-top: 13px; }
}

/* ----- form-note ----- */
.form-note {
	margin-bottom: 1.2em; }
	.form-note > li {
		position: relative;
		padding-left: 1em;
		font-size: 87.5%; }
	.form-note > li + li {
		margin-top: 0.5em; }
	.form-note > li > .form-note_mark {
		position: absolute;
		top: 0;
		left: 0;
		width: 1em; }

/* ======================================================
 PRESETS
====================================================== */
/* form-name-divider
------------------------------------------------------ */
.form-name-divider .form-divide {
	display: table;
	table-layout: fixed; }
	.form-name-divider .form-divide > * {
		display: table-cell;
		vertical-align: middle; }
	.form-name-divider .form-divide .form-divide_label {
		width: 3em;
		padding: 3px 0.5em 0 0; }
@media print, screen and (min-width: 768px) {
	.form-name-divider .form-divide {
		float: left;
		width: 47.191%; }
	.form-name-divider .form-divide + .form-divide {
		float: right; }
}
@media screen and (max-width: 767px) {
	.form-name-divider .form-divide {
		width: 100%; }
	.form-name-divider .form-divide + .form-divide {
		margin-top: 15px; }
		.form-name-divider .form-divide .form-divide_label {
			font-size: 13px;
			font-size: 1.3rem; }
}

/* form-birth-divider
------------------------------------------------------ */
.form-birth-divider .form-divide {
	float: left;
	display: table;
	table-layout: fixed; }
	.form-birth-divider .form-divide > * {
		display: table-cell;
		vertical-align: middle; }
	.form-birth-divider .form-divide .form-divide_label {
		padding: 3px 1.35em 0;
		text-align: center; }
	.form-birth-divider .form-divide .form-divide_label:first-child {
		padding-left: 0; }
@media print, screen and (min-width: 768px) {
	.form-birth-divider .form-divide:first-child {
		min-width: 180px; }
		.form-birth-divider .form-divide select {
			min-width: 6.3em;
			width: 100%; }
		.form-birth-divider .form-divide input[type="text"],
		.form-birth-divider .form-divide input[type="tel"] {
			width: 6.3333em; }
}
@media screen and (max-width: 767px) {
	.form-birth-divider .form-divide select {
		padding: 0.8em 30px 0.7em 10px; }
	.form-birth-divider .form-divide input[type="text"],
	.form-birth-divider .form-divide input[type="tel"] {
			padding: 0.8em 5px 0.7em;
			width: 3.8em; }
	.form-birth-divider .form-divide .floting-place-holder {
			padding: 1.2em 5px 0.3em; }
	.form-birth-divider .form-divide .form-divide_label {
		width: 2em;
		padding: 3px 0.2em 0; }
	.form-birth-divider .form-divide .form-divide_label:first-child {
		width: auto;
		padding: 0 0.7em 0 0; }
}

/* form-zip-divider
------------------------------------------------------ */
.form-zip-divider .form-divide {
	display: table;
	table-layout: fixed; }
	.form-zip-divider .form-divide > * {
		display: table-cell;
		vertical-align: middle; }
	.form-zip-divider .form-divide .form-field {
		width: 10.5555em;
		-webkit-border-radius: 4px 0 0 4px;
		-moz-border-radius: 4px 0 0 4px;
		border-radius: 4px 0 0 4px; }
	.form-zip-divider .form-divide .form-field + .form-zip-button {
		border-left: none;
		-webkit-border-radius: 0 4px 4px 0;
		-moz-border-radius: 0 4px 4px 0;
		border-radius: 0 4px 4px 0; }
	.form-zip-divider .form-divide > .form-component_comment {
		padding-right: 10px;
		text-align: right; }
@media print, screen and (min-width: 768px) {
	.form-zip-divider .form-divide:first-child {
		float: left;
		width: 55%; }
	.form-zip-divider .form-divide + .form-divide {
		padding-left: 30px; }
		.form-zip-divider .form-divide .form-field input {
			padding-right: 10px;
			padding-left: 10px; }
		.form-zip-divider .form-divide .form-textfield .eg-label {
			margin: 0 10px; }
		.form-zip-divider .form-divide .form-field + .form-zip-button {
			white-space: nowrap; }
}
@media screen and (max-width: 767px) {
	.form-zip-divider .form-divide + .form-divide {
		margin-top: 20px; }
		.form-zip-divider .form-divide .form-field {
			width: 8.6666em; }
		.form-zip-divider .form-divide > .form-component_comment {
			padding-right: 25px;
			text-align: left; }
}

/* ----- form-zip-button ----- */
.form-zip-button {
	padding: 1.4em 0 1.2em;
	border: 1px solid #a9a9a9;
	background-color: #f7f7f7;
	-webkit-border-radius: 4px;
	-moz-border-radius: 4px;
	border-radius: 4px;
	color: #444444;
	text-decoration: none;
	font-size: 15px;
	font-size: 1.5rem;
	line-height: 1.2;
	cursor: pointer; }
	.form-zip-button .form-zip-button_label {
		display: block;
		position: relative;
		padding: 0 34px 0 19px; }
	.form-zip-button .form-zip-button_label:after {
		content: "";
		position: absolute;
		top: 50%;
		right: 12px;
		width: 9px;
		height: 9px;
		margin-top: -5px;
		border-top: 2px solid #c1c1c1;
		border-right: 2px solid #c1c1c1;
		-webkit-transform: rotate(45deg);
		-ms-transform: rotate(45deg);
		transform: rotate(45deg); }
	.form-zip-button[target="_blank"] .form-zip-button_label:after {
		right: 10px;
		width: 15px;
		height: 15px;
		margin-top: -9px;
		border: none;
		background-repeat: no-repeat;
		background-position: 0 0;
		-webkit-transform: none;
		-ms-transform: none;
		transform: none; }
@media print, screen and (min-width: 768px) {
	.form-zip-button {
		-webkit-transition: background-color 0.2s ease-out;
		-moz-transition: background-color 0.2s ease-out;
		-ms-transition: background-color 0.2s ease-out;
		transition: background-color 0.2s ease-out; }
		.form-zip-button:hover {
			background-color: #fdfdfd; }
}
@media screen and (max-width: 767px) {
	.form-zip-button {
		padding: 1.4em 0 1.2em;
		font-size: 13px;
		font-size: 1.3rem; }
		.form-zip-button .form-zip-button_label {
			padding: 0 25px 0 10px;
			text-align: center; }
			.form-zip-button[target="_blank"] .form-zip-button_label:after {
				right: 6px;
				width: 12px;
				height: 12px;
				margin-top: -7px;
				background-size: 250px auto;
				background-position: -10px 0; }
}

/* form-tel-divider
------------------------------------------------------ */
.form-tel-divider .form-divide {
	float: left;
	display: table;
	width: 36%;
	table-layout: fixed; }
.form-tel-divider .form-divide:first-child {
	width: 28%; }
	.form-tel-divider .form-divide > * {
		display: table-cell;
		vertical-align: middle; }
	.form-tel-divider .form-divide .form-tel-divider_hyphen {
		width: 2.125em;
		padding: 3px 0.3em 0;
		text-align: center; }
		.form-tel-divider .form-divide .eg-label {
			margin: 0 10px;
			width: calc(100% - 20px); }
@media screen and (max-width: 767px) {
	.form-tel-divider .form-divide .form-birth-divider_hyphen {
		width: 2em;
		padding: 3px 0.2em 0; }
}

/* form-date-module
------------------------------------------------------ */
.form-date-module {
	display: table;
	width: 100%;
	table-layout: fixed; }
.form-date-module {
	display: table;
	width: 100%;
	table-layout: fixed; }
	.form-date-module > * {
		display: table-cell;
		vertical-align: middle; }
	.form-date-module .form-field {
		-webkit-border-radius: 4px 0 0 4px;
		-moz-border-radius: 4px 0 0 4px;
		border-radius: 4px 0 0 4px; }
	.form-date-module .form-field + .form-calender-clear {
		width: 210px;
		border-left: none;
		-webkit-border-radius: 0 4px 4px 0;
		-moz-border-radius: 0 4px 4px 0;
		border-radius: 0 4px 4px 0; }
	.form-date-module > .form-component_comment {
		padding-right: 10px;
		text-align: right; }
@media screen and (max-width: 767px) {
	.form-date-module {
		max-width: 360px; }
		.form-date-module .form-field {
			width: 10.5333em; }
		.form-date-module .form-field + .form-calender-clear {
			width: auto; }
}

/* ----- form-calender-clear ----- */
.form-calender-clear {
	padding: 1.4em 0 1.2em;
	border: 1px solid #a9a9a9;
	background-color: #f7f7f7;
	-webkit-border-radius: 4px;
	-moz-border-radius: 4px;
	border-radius: 4px;
	color: #444444;
	text-decoration: none;
	font-size: 15px;
	font-size: 1.5rem;
	line-height: 1.2;
	cursor: pointer; }
	.form-calender-clear .form-calender-clear_label {
		display: block;
		position: relative;
		padding: 0 34px 0 19px; }
	.form-calender-clear .form-calender-clear_label:after {
		content: "";
		position: absolute;
		top: 50%;
		right: 12px;
		width: 9px;
		height: 9px;
		margin-top: -5px;
		border-top: 2px solid #c1c1c1;
		border-right: 2px solid #c1c1c1;
		-webkit-transform: rotate(45deg);
		-ms-transform: rotate(45deg);
		transform: rotate(45deg); }
@media print, screen and (min-width: 768px) {
	.form-calender-clear {
		-webkit-transition: background-color 0.2s ease-out;
		-moz-transition: background-color 0.2s ease-out;
		-ms-transition: background-color 0.2s ease-out;
		transition: background-color 0.2s ease-out; }
		.form-calender-clear:hover {
			background-color: #fdfdfd; }
}
@media screen and (max-width: 767px) {
	.form-calender-clear {
		padding: 1.4em 0 1.2em;
		font-size: 13px;
		font-size: 1.3rem; }
		.form-calender-clear .form-calender-clear_label {
			padding: 0 25px 0 10px;
			text-align: center; }
}

/* ----- form-calender ----- */
.form-calender {
	position: absolute;
	left: -1px;
	display: none;
	width: 290px;
	border: 1px solid #a9a9a9;
	background: #ffffff;
	z-index: 10; }
	.form-calender .form-calender_header {
		position: relative; }
		.form-calender .form-calender_prev,
		.form-calender .form-calender_next {
			position: absolute;
			top: 0;
			bottom: 0;
			width: 28px;
			text-indent: -9999px;
			outline: none;
			cursor: pointer; }
		.form-calender .form-calender_prev {
			left: 0; }
		.form-calender .form-calender_next {
			right: 0; }
		.form-calender .form-calender_prev:after,
		.form-calender .form-calender_next:after {
			content: "";
			position: absolute;
			top: 50%;
			width: 8px;
			height: 8px;
			margin-top: -4px; }
		.form-calender .form-calender_prev:after {
			left: 12px;
			border-top: 1px solid #c1c1c1;
			border-left: 1px solid #c1c1c1;
			-webkit-transform: rotate(-45deg);
			-ms-transform: rotate(-45deg);
			transform: rotate(-45deg); }
		.form-calender .form-calender_next:after {
			right: 12px;
			border-top: 1px solid #c1c1c1;
			border-right: 1px solid #c1c1c1;
			-webkit-transform: rotate(45deg);
			-ms-transform: rotate(45deg);
			transform: rotate(45deg); }
		.form-calender .form-calender_month {
			padding: 10px 30px 8px;
			color: #666666;
			font-size: 12px;
			font-size: 1.2rem;
			font-weight: bold;
			line-height: 1;
			text-align: center; }
	.form-calender .form-calender_body {
		overflow: hidden;
		border-top: 1px solid #e0e0e0; }
		.form-calender .form-calender_dayweek {
			display: table;
			width: 100%;
			background-color: #eeeeee;
			table-layout: fixed; }
			.form-calender .form-calender_day {
				display: table-cell;
				width: 40px;
				padding: 5px 3px 3px;
				border-right: 1px solid #e0e0e0;
				border-bottom: 1px solid #e0e0e0;
				color: #666666;
				font-size: 10px;
				font-size: 1rem;
				text-align: center; }
		.form-calender [data-calender-view] {
			position: relative; }
			.form-calender .form-calender_view {
				position: relative;
				display: table;
				width: 100%;
				background-color: #ffffff;
				table-layout: fixed;
				-webkit-transition: left 0.2s ease-out;
				-moz-transition: left 0.2s ease-out;
				-ms-transition: left 0.2s ease-out;
				transition: left 0.2s ease-out; }
			.form-calender .form-calender_view[data-calender-state="new"] {
				left: 0; }
			.form-calender .form-calender_view[data-calender-state="prev"],
			.form-calender .form-calender_view[data-calender-state="next"] {
				position: absolute; }
			.form-calender .form-calender_view[data-calender-state="prev"],
			.form-calender .form-calender_view[data-calender-state="next"] + .form-calender_view {
				left: -100%; }
			.form-calender .form-calender_view[data-calender-state="next"],
			.form-calender .form-calender_view[data-calender-state="prev"] + .form-calender_view {
				left: 100%; }
			.form-calender .form-calender_view[data-calender-state="prev"] + .form-calender_view[data-calender-state="new"],
			.form-calender .form-calender_view[data-calender-state="next"] + .form-calender_view[data-calender-state="new"] {
				left: 0; }
				.form-calender .form-calender_week {
					display: table-row; }
					.form-calender .form-calender_date {
						display: table-cell;
						width: 40px;
						height: 40px;
						padding: 5px 3px 3px;
						border-right: 1px solid #eeeeee;
						border-bottom: 1px solid #eeeeee;
						font-size: 10px;
						font-size: 1rem;
						text-align: center;
						vertical-align: middle;
						-webkit-transition: background-color 0.2s ease-out;
						-moz-transition: background-color 0.2s ease-out;
						-ms-transition: background-color 0.2s ease-out;
						transition: background-color 0.2s ease-out; }
					.form-calender .form-calender_date:first-child {
						background-color: #fff0f0;
						color: #d63838; }
					.form-calender .form-calender_date:last-child {
						background-color: #f0f6ff;
						color: #4b86de; }
					.form-calender .form-calender_week:last-child .form-calender_date {
						border-bottom: none; }
					.form-calender .form-calender_date.state-selected {
						background-color: #ffffbb;
						color: #ff6600;
						font-weight: bold; }
@media print, screen and (min-width: 768px) {
	.form-calender .form-calender_date[data-calender-date] {
		cursor: pointer; }
	.form-calender .form-calender_date[data-calender-date]:hover {
		background-color: #ffffbb; }
	.form-calender .form-calender_close {
		display: block;
		padding: 10px 30px 8px;
		color: #ffffff;
		font-size: 12px;
		font-size: 1.2rem;
		font-weight: bold;
		background-image: none !important;
		background-color: #a9a9a9;
		text-align: center;
		cursor: pointer; }
		.form-calender .form-calender_close:before {
			content: "";
			display: inline-block;
			width: 8px;
			height: 8px;
			margin-right: 10px;
			background-repeat: no-repeat;
			background-position: -96px 0; }
}
@media screen and (max-width: 767px) {
	.form-calender {
		position: fixed;
		top: 50%;
		left: 50%;
		margin: 0;
		-webkit-transform: translateY(-50%) translateX(-50%);
		-ms-transform: translateY(-50%) translateX(-50%);
		transform: translateY(-50%) translateX(-50%); }
		.form-calender .form-calender_month {
			padding: 15px 30px 13px; }
		.form-calender .form-calender_body {
			overflow-y: auto;
			-webkit-overflow-scrolling: touch !important; }
		.form-calender .form-calender_close {
			position: absolute;
			top: -32px;
			right: 0;
			width: 20px;
			height: 20px;
			background-repeat: no-repeat;
			background-position: -54px 0;
			background-size: 250px auto;
			text-indent: -9999px;
			outline: none; }
			.form-calender .form-calender_close:before {
				content: inherit;
				display: none; }
}

/* ----- data-calender-overlay ----- */
@media screen and (max-width: 767px) {
	[data-calender-overlay] {
		display: hidden;
		position: fixed;
		left: 0;
		top: 0;
		z-index: 5;
		width: 100%;
		height: 100%;
		-webkit-transform: scaleX(0);
		-moz-transform: scaleX(0);
		-ms-transform: scaleX(0);
		transform: scaleX(0);
		-webkit-transition: -webkit-transform 0.3s ease-out 0s;
		-moz-transition: -moz-transform 0.3s ease-out 0s;
		-ms-transition: -ms-transform 0.3s ease-out 0s;
		transition: transform 0.3s ease-out 0s;
		filter:progid:DXImageTransform.Microsoft.Matrix(M11=0,M22=1,M12=0,M21=0,sizingMethod="auto expand")＼9;
		background-color: #000000;
		background-color: rgba(0,0,0,0.8); }
	[data-calender-overlay].state-focused {
		display: visible;
		-webkit-transform: scaleX(1);
		-moz-transform: scaleX(1);
		-ms-transform: scaleX(1);
		transform: scaleX(1);
		-webkit-transition: -webkit-transform 0.3s ease-out 0s;
		-moz-transition: -moz-transform 0.3s ease-out 0s;
		-ms-transition: -ms-transform 0.3s ease-out 0s;
		transition: transform 0.3s ease-out 0s;
		filter:progid:DXImageTransform.Microsoft.Matrix(M11=1,M22=1,M12=0,M21=0,sizingMethod="auto expand")＼9; }
}

/* ----- form-text-paragraph ----- */
.form-text-paragraph {
	margin-top: 20px;
}

/* ======================================================
 OTHER
====================================================== */
/* form-hr
------------------------------------------------------ */
.form-border {
	margin: 40px 0; }
@media print, screen and (min-width: 768px) {
	.form-border {
		border: 1px solid #dbdbdb; }
}
@media screen and (max-width: 767px) {
	.form-border {
		margin: 25px 0;
		border-top: 1px solid #dbdbdb; }
}

/* Clearfix
------------------------------------------------------ */
.form-primary-header .form-primary-header_body:after,
.form-media-ssl:after,
.form-component:after,
.form-name-divider:after,
.form-birth-divider:after,
.form-zip-divider:after,
.form-tel-divider:after {
	content:" ";
	display:block;
	clear:both;
}

@media print {
	.editable-component, .form-component {
		page-break-inside: avoid;
	}
}
