@charset 'utf-8';


.cautionplate {
	display: block;
	padding: 1em;
	border-radius: 0;
	border: 1px solid #996e6e;
	background: #fff;
	color: #996e6e;
	font-weight: 700;
}

.cautionplate:not(:last-child) {
	margin-bottom: 1em;
}

#formblock .formpart {
	box-shadow: 0 1px 2px rgba(0,0,0,.2);
	background-color: #f8f8f8;
}

#formblock .formpart.hover {
	background-color: #fff;
}

.form_item .btngroup {
	border: 1px solid transparent;
}

.form_item .inputtext input[type=text],
.form_item .inputtext input[type=email],
.form_item .inputtext input[type=url],
.form_item .inputtext input[type=tel],
.form_item .inputtext input[type=number],
.form_item .inputtext textarea,
.form_item .selectmenu select,
.form_item .appendedfile,
#formblock.confirm .form_item > div {
	border-radius: 0;
	border: 1px solid #000;
}

#formblock.confirm .form_item:not(.empty) > div {
	background-color: #fff;
}

.form_item .inputtext input[type=text],
.form_item .inputtext input[type=email],
.form_item .inputtext input[type=url],
.form_item .inputtext input[type=tel],
.form_item .inputtext input[type=number],
.form_item .inputtext textarea,
.form_item .selectmenu select,
.form_item .appendedfile {
	background-color: #f7f7f7;
}

.form_item .inputtext input[type=text].focus,
.form_item .inputtext input[type=email].focus,
.form_item .inputtext input[type=url].focus,
.form_item .inputtext input[type=tel].focus,
.form_item .inputtext input[type=number].focus,
.form_item .inputtext textarea.focus,
.form_item .selectmenu select.focus,
.form_item .appendedfile.focus {
	border-color: #5a5a5a;
	background-color: #fff;
}


.form_item .btngroup.warning,
.form_item .inputtext input[type=text].warning,
.form_item .inputtext input[type=email].warning,
.form_item .inputtext input[type=url].warning,
.form_item .inputtext input[type=tel].warning,
.form_item .inputtext input[type=number].warning,
.form_item .inputtext textarea.warning,
.form_item .selectmenu select.warning,
.form_item .appendedfile.warning {
	border-color: #996e6e;
	background-color: #fce3e3;
}


.form_item .btn_append {
	border-radius: 0;
	border: 1px solid #000;
	background-color: #000;
	color: #fff;
}

.form_item .appendedfile.appended {
	background-color: #fff;
}

.form_item .btn_append:hover,
.form_item .btn_append.hover {
	border-color: #5a5a5a;
	background-color: #5a5a5a;
}

.form_item .btn_append.appended {
	border: 1px solid #dadada;
	border-color: #dadada;
	background-color: #dadada;
	color: #666;
}

.form_item .btn_append.appended:hover,
.form_item .btn_append.appended.hover {
	border-color: #999;
	background-color: #999;
	color: #fff;
}

.form_item .btn_clear a {
	border-radius: 0;
	border: 1px solid #000;
	background-color: #000;
	color: #fff;
	text-decoration: none;
}

.form_item .btn_clear a:hover,
.form_item .btn_clear a.hover {
	border-color: #5a5a5a;
	background-color: #5a5a5a;
}

.form_submit input[type=submit] {
	border-radius: 0;
}

.form_submit .submit {
	background-color: #000;
	color: #fff;
}

.form_submit .submit.hover {
	background-color: #5a5a5a;
}

.form_submit .reset {
	background-color: #dadada;
	color: #666;
}

.form_submit .reset.hover {
	background-color: #999;
	color: #fff;
}

.form_item .iamgetype .appendedfile .thumb {
	border-radius: 0;
	background-color: #ccc;
}

#formblock.confirm .form_item .iamgetype .appendedfile .thumb,
.form_item .iamgetype .appendedfile.focus .thumb {
	background-color: #fff;
}

.form_item .iamgetype .appendedfile .cover > span:before {
	background-color: #fff;
	opacity: .7;
}

.form_item .iamgetype .appendedfile.focus .cover > span:before {
	opacity: .4;
}

#formblock:not(.confirm) .formpart legend:after {
	border-radius: 0;
}


.form_item .selectmenu select {
	background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZlcnNpb249IjEuMSIgeD0iMHB4IiB5PSIwcHgiIHdpZHRoPSIyNHB4IiBoZWlnaHQ9IjZweCIgdmlld0JveD0iMCAwIDI0IDYiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDEyIDY7IiB4bWw6c3BhY2U9InByZXNlcnZlIj48cG9seWdvbiBwb2ludHM9IjE4LDAgMTIsNiA2LDAgIi8+PC9zdmc+);
}

.form_item .iamgetype .appendedfile .cover > span {
	background-image: url(data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeD0iMHB4IiB5PSIwcHgiIHZpZXdCb3g9IjAgMCA1MTIgNTEyIiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCA1MTIgNTEyOyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+PHN0eWxlIHR5cGU9InRleHQvY3NzIj4uc3Qwe2ZpbGw6IzMzMzMzMzt9PC9zdHlsZT48cG9seWdvbiBjbGFzcz0ic3QwIiBwb2ludHM9IjQzMy4yLDExOC45IDQzMy4yLDIyMCA0NTAuNSwxMjIgIi8+PHBvbHlnb24gY2xhc3M9InN0MCIgcG9pbnRzPSIyMTAsMjguMSAyMDEsNzguOCAyMjYuOCw3OC44IDIzMC41LDU3LjUgMzUxLjMsNzguOCA0MzMuMiw3OC44IDQzMy4yLDkzLjIgNDc5LjgsMTAxLjQgNDMzLjIsMzY1LjggNDMzLjIsNDAxLjcgNDUyLDQwNSA1MDkuMiw4MC45ICIvPjxwYXRoIGNsYXNzPSJzdDAiIGQ9Ik0xMDQuMSwxMDQuMXYzMjkuMWgzMDMuOFYxMDQuMUgxMDQuMXogTTM4Mi42LDQwNy45SDEyOS40VjEyOS40aDI1My4yVjQwNy45eiIvPjxyZWN0IHg9IjE1NC43IiB5PSIxNTQuNyIgY2xhc3M9InN0MCIgd2lkdGg9IjIwMi41IiBoZWlnaHQ9IjIwMi41Ii8+PC9zdmc+);
}


#formblock:not(.confirm) .formpart legend:before {
	content: '\f115';
	font-family: 'uiicon';
	font-weight: normal !important;
}

#formblock:not(.confirm) .formpart legend:after {
	content: '任意';
	color: #fff;
	background-color: #3d9edc;
}

#formblock:not(.confirm) .formpart.required legend:after {
	content: '必須';
	background-color: #996e6e;
}

.form_item span.label.required:before,
.form_item label.required:before {
	content: '';
	display: inline-block;
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background-color: #996e6e;
	position: absolute;
	right: -6px;
	top: 0;
}

.form_item .inputfile:not(.iamgetype) .appendedfile.appended:before {
	content: '\f118';
	font-family: 'uiicon';
	font-weight: normal !important;
}

.form_item .notice {
	color: #0073bc;
}

.form_item .guide {
	color: #808080;
}

.form_item .error {
	background-color: #996e6e;
	color: #fff;
}


.form_item label.radio:hover,
.form_item label.checkbox:hover {
	background-color: #e9e3ec;
	color: #000;
}

.form_item label.radio:after,
.form_item label.checkbox:after {
	border: 2px solid #bbb;
}

.form_item label.radio:hover:after,
.form_item label.checkbox:hover:after {
	border-color: #5c5a76;
}

.form_item label.radio:before {
	background-color: #5c5a76;
}

.form_item label.checkbox:before {
	border-right: 3px solid #5c5a76;
	border-bottom: 3px solid #5c5a76;
}

.form_item input[type=radio]:checked + label.radio:after,
.form_item input[type=checkbox]:checked + label.checkbox:after {
	border-color: #5c5a76;
}

.form_item .warning label.radio,
.form_item .warning label.checkbox {
	color: #000;
}

.form_item .warning label.radio:hover,
.form_item .warning label.checkbox:hover {
	background-color: #fcf2f2;
}

.form_item .warning label.checkbox:before {
	border-right: 3px solid #996e6e;
	border-bottom: 3px solid #996e6e;
}

.form_item .warning label.radio:after,
.form_item .warning label.checkbox:after {
	border-color: #996e6e;
}

.form_item .warning input[type=radio]:checked + label.radio:after,
.form_item .warning input[type=checkbox]:checked + label.checkbox:after {
	border-color: #996e6e;
}


.form_item label.radio,
.form_item label.checkbox {
	border-radius: 0;
}

.form_item label.checkbox:after {
	border-radius: 0;
}



.form_item .btngroup li {
	width: 100%;
}

.form_item .btngroup.quarter:not(.horizon) li {
	width: calc(100% / 2);
}

@media only screen and (min-width: 541px) {

	.form_item .btngroup.horizon li {
		width: auto;
	}

	.form_item .btngroup.half:not(.horizon) li {
		width: 100%;
	}

	.form_item .btngroup.third:not(.horizon) li {
		width: calc(100% / 2);
	}
}

@media only screen and (min-width: 769px) {

	.form_item .btngroup.half:not(.horizon) li {
		width: calc(100% / 2);
	}

	.form_item .btngroup.third:not(.horizon) li {
		width: calc(100% / 3);
	}

	.form_item .btngroup.quarter:not(.horizon) li {
		width: calc(100% / 4);
	}
}


.form_item .columns:not(.flex) > div {
	width: 100%;
}

@media only screen and (min-width: 769px) {

	.form_item .columns.half > div:not(.textarea) {
		width: calc(100% / 2);
	}

	.form_item .columns.third > div:not(.textarea) {
		width: calc(100% / 3);
	}

	.form_item .columns.quarter > div:not(.textarea) {
		width: calc(100% / 4);
	}
}



.articlebody {
	width: 100%;
	max-width: 800px;
	margin: 0 auto;
	font-size: 1.4em;
	line-height: 2;
}

.articlebody .caution p,
.articlebody .caution li {
	margin-bottom: .3em !important;
	font-size: .75em !important;
	line-height: 1.5 !important;
}

#errormsg {
	width: 100%;
	position: relative;
}

#errormsg > div {
	margin-bottom: 30px;
	padding: 30px;
	background-color: #fff3f3;
	border: 2px solid #996e6e;
	font-size: 1.2em;
	line-height: 1.8;
}

#errormsg .errortitle {
	margin-bottom: 1em;
	color: #fff;
	font-size: 1.4em;
	font-weight: bold;
	text-align: center;
	line-height: 1;
}

#errormsg .errortitle span {
	display: inline-block;
	padding: .6em 1.2em;
	background-color: #996e6e;
}

#errormsg .errormessage {
	color: #000;
	line-height: 1.6;
}

#errormsg .errormessage a {
	color: #000;
}


.articlebody .content {
	margin-bottom: 2em;
	padding: 1em;
	color: #000;
	font-size: 1.2em;
}

.articlebody .content h3 {
	margin-bottom: .7em;
	font-size: 1.5em;
	line-height: 1.5;
}

.articlebody .content h4 {
	margin-bottom: .7em;
	font-size: 1.1em;
	line-height: 1.5;
}

.articlebody .content p {
	line-height: 1.8;
}

.articlebody .content p:not(:last-child) {
	margin-bottom: 1em;
}

.articlebody .content .encloseblock .caution {
	padding: 1em;
	border: 1px solid rgba(0,0,0,.1);
	background: rgba(0,0,0,.02);
}

.articlebody .content address {
	margin: 0 0 2em 0;
	font-style: normal;
	line-height: 1.6;
}

.articlebody .content address strong {
	display: inline-block;
	margin-bottom: .5em;
	font-size: 1.2em;
}

.articlebody .content address span {
	display: inline-block;
	font-size: .85em;
}

.articlebody .content .btnarea a:before {
	content: '\f100';
	margin-right: .5em;
	font-family: 'uiicon';
	font-weight: normal !important;
	text-align: center;
	vertical-align: middle;
}

.articlebody .result .content p {
	text-align: left;
}

.articlebody .contact {
	text-align: center;
}

.articlebody .contact span {
	display: block;
	text-align: center;
}

.articlebody .contact .call {
	padding-top: 1em;
	font-size: 2em;
}

.articlebody .contact .call a {
	text-decoration: none;
}

.articlebody .caution:not(:last-child) {
	margin-bottom: 1em;
}

.articlebody .content a[href^="tel:"] {
	color: #000;
	text-decoration: underline;
	text-decoration-color: #bfbfbf;
}

.form_item p {
	line-height: 1.6;
	word-wrap: break-word;
}

.form_item p:not(:last-child) {
	margin-bottom: 1em;
}

.form_item .guide {
	font-size: .9em;
	font-weight: normal;
}

.formpart label,
.formpart span.label,
.formpart .suptext,
.form_item .notice,
.form_item .guide {
	line-height: 1.5;
	position: relative;
}

.form_item .error {
	margin-bottom: .7em;
	padding: 5px 10px;
	font-size: .85em;
	text-align: right;
	line-height: 1.4;
}

#formblock .alert {
	margin: 20px 10px;
	text-align: center;
	line-height: 1.4;
}

#agreement {
	max-width: 500px;
	margin: 0 auto;
	padding: 20px;
	background: transparent !important;
	box-shadow: none !important;
	text-align: center;
}

#agreement p {
	text-align: left;
}

#agreement p a[target="_blank"]:after {
	display: inline-block;
	content: '\f109';
	margin: 0 .2em;
	margin-top: -.2em;
	font-size: .85em;
	font-family: 'uiicon';
	font-weight: normal !important;
	text-align: center;
	line-height: 1;
	vertical-align: middle;
}

#formblock {
	margin-bottom: 3em;
	padding: 0;
}

.formgroup {
	font-size: 1.1em;
}

.formgroup:not(:last-child) {
	margin-bottom: 2em;
}

.formgroup .header,
.formgroup .subheader,
.formgroup .footer {
	padding: 1em;
}

.formgroup h3 {
	margin-bottom: .5em;
	font-size: 1.6em;
	line-height: 1.4;
}

.formgroup h4 {
	margin-bottom: .5em;
	font-size: 1.4em;
	line-height: 1.4;
}

.formgroup h5 {
	margin-bottom: .5em;
	font-size: 1.2em;
	line-height: 1.4;
}

.formgroup h6 {
	margin-bottom: .5em;
	font-size: 1.1em;
	line-height: 1.4;
}

.formgroup .header p,
.formgroup .subheader p,
.formgroup .footer p {
	line-height: 1.6;
}

.formgroup .header p:not(:last-child),
.formgroup .subheader p:not(:last-child),
.formgroup .footer p:not(:last-child) {
	margin-bottom: 1em;
}

.formpart {
	margin-bottom: 10px;
	padding: 10px;
	transition: .2s;
}

.formpart fieldset {
	width: 100%;
	min-width: 0;
	padding: 0;
	border: none;
	line-height: 1.8;
	position: relative;
}

.formpart legend {
	padding: 0;
	font-size: 1.2em;
	font-weight: 700;
}

.formpart legend:before {
	margin-right: .5em;
	text-align: center;
}

#formblock:not(.confirm) .formpart legend:after {
	display: inline-block;
	margin-left: 10px;
	padding: .3em .5em;
	font-size: .65em;
	font-weight: normal;
	line-height: 1;
	white-space: nowrap;
	vertical-align: middle;
}

.formpart legend small {
	font-size: .85em;
	font-weight: 400;
}

@media only screen and (min-width: 541px) {

	.formpart {
		padding: 20px;
	}

	.formpart fieldset {
		padding: 10px;
	}
}

.formpart .form_item {
	width: 100%;
	padding: 10px;
	position: relative;
}

.formpart .form_item > div {
	width: 100%;
	position: relative;
}

#formblock.confirm .form_item > div {
	min-height: calc(30px + 1.8em);
	padding: 15px;
	font-size: 1.2em;
}

.form_item .btngroup {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	list-style: none;
	margin-bottom: .5em;
}

.form_item .btngroup:not(:last-child) {
	margin-bottom: .7em;
}

.form_item .btngroup li {
	list-style: none;
	display: inline-block;
	font-size: 1em;
	line-height: 1.3;
	padding: 0;
}

.form_item .columns {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	width: calc(100% + 20px) !important;
	margin: -5px -10px;
}

.form_item .columns:not(:last-child) {
	margin-bottom: .7em;
}

.form_item .columns.alignend {
	align-items: flex-end;
}

.form_item .columns > div {
	padding: 5px 10px;
}

@media only screen and (min-width: 769px) {

	.form_item .columns.flex > div {
		padding-left: 15px;
	}
}


.confirm .form_item h1,
.confirm .form_item h2,
.confirm .form_item h3,
.confirm .form_item h4,
.confirm .form_item h5,
.confirm .form_item h6 {
	margin: 0;
	font-size: 1em;
	line-height: 1.8;
}

.confirm .form_item p {
	margin: 0;
}

.confirm .form_item ul {
	padding-left: 1.5em;
}


.inputtext,
.inputfile,
.selectmenu {
	display: inline-block;
	width: 100%;
}
/*
.form_item > div:not(:last-child):not(.columns) .inputtext:not(.adjacent),
.form_item > div:not(:last-child):not(.columns) .inputfile,
.form_item > div:not(:last-child):not(.columns) .selectmenu:not(.adjacent) {
	margin-bottom: 1em;
}
*/
.form_item > div:not(:last-child):not(.columns) .inputtext,
.form_item > div:not(:last-child):not(.columns) .inputfile,
.form_item > div:not(:last-child):not(.columns) .selectmenu {
	margin-bottom: 1em;
}

.inputtext:not(.short) input[type=text]:not(:last-child),
.inputtext:not(.short) input[type=email]:not(:last-child),
.inputtext:not(.short) input[type=url]:not(:last-child),
.inputtext:not(.short) input[type=tel]:not(:last-child),
.inputtext:not(.short) input[type=number]:not(:last-child),
.inputtext textarea:not(:last-child),
.inputfile .pseudoinputelem:not(:last-child),
.selectmenu:not(.short) select:not(:last-child) {
	margin-bottom: .2em;
}

.inputtext.short,
.selectmenu.short {
	width: auto;
}

.inputtext:not(.short) input[type=text],
.inputtext:not(.short) input[type=email],
.inputtext:not(.short) input[type=url],
.inputtext:not(.short) input[type=tel],
.inputtext:not(.short) input[type=number],
.inputfile .pseudoinputelem,
.selectmenu:not(.short) select {
	width: 100%;
}

.form_item .inputtext input[type=text],
.form_item .inputtext input[type=email],
.form_item .inputtext input[type=url],
.form_item .inputtext input[type=tel],
.form_item .inputtext input[type=number],
.form_item .inputtext textarea {
	padding: .7em 1em;
	font-size: 1.2em !important;
	line-height: 1.6;
	transition: .2s;
	-webkit-appearance: none;
	appearance: none;
}

.form_item .inputtext textarea {
	width: 100%;
	height: 10em;
	vertical-align: top;
	resize: none;
}

.outsidelabel label,
.outsidelabel span.label,
.inputtext label,
.inputtext span.label,
.inputfile label,
.inputfile span.label,
.selectmenu label,
.selectmenu span.label,
.checkbtn span.label {
	font-size: 1.1em;
	font-weight: 700;
}

.outsidelabel label,
.outsidelabel span.label,
.outsidelabel .notice,
.outsidelabel .guide,
.inputtext label,
.inputtext span.label,
.inputtext .notice,
.inputtext .guide,
.inputfile label,
.inputfile span.label,
.inputfile .notice,
.inputfile .guide,
.selectmenu label,
.selectmenu span.label,
.selectmenu .notice,
.selectmenu .guide,
.checkbtn span.label,
.checkbtn .notice,
.checkbtn .guide {
	display: inline-block;
}

.inputtext:not(.short) label + input[type=text],
.inputtext:not(.short) .suptext + input[type=text],
.inputtext:not(.short) label + input[type=email],
.inputtext:not(.short) .suptext + input[type=email],
.inputtext:not(.short) label + input[type=url],
.inputtext:not(.short) .suptext + input[type=url],
.inputtext:not(.short) label + input[type=tel],
.inputtext:not(.short) .suptext + input[type=tel],
.inputtext:not(.short) label + input[type=number],
.inputtext:not(.short) .suptext + input[type=number],
.inputtext:not(.short) label + textarea,
.inputtext:not(.short) .suptext + textarea,
.inputfile:not(.short) label + .pseudoinputelem,
.inputfile:not(.short) .suptext + .pseudoinputelem,
.selectmenu:not(.short) label + select,
.selectmenu:not(.short) .suptext + select,
.checkbtn span.label + .btngroup,
.checkbtn .suptext + .btngroup {
	margin-top: .3em;
}

.inputtext.short input[type=text]:not(:last-child),
.inputtext.short input[type=email]:not(:last-child),
.inputtext.short input[type=url]:not(:last-child),
.inputtext.short input[type=tel]:not(:last-child),
.inputtext.short input[type=number]:not(:last-child),
.selectmenu.short select:not(:last-child) {
	margin-right: .5em;
}

.inputtext.short span.suptext + input[type=text],
.inputtext.short label + input[type=text],
.inputtext.short span.suptext + input[type=email],
.inputtext.short label + input[type=email],
.inputtext.short span.suptext + input[type=url],
.inputtext.short label + input[type=url],
.inputtext.short span.suptext + input[type=tel],
.inputtext.short label + input[type=tel],
.inputtext.short span.suptext + input[type=number],
.inputtext.short label + input[type=number],
.selectmenu.short span.suptext + select,
.selectmenu.short label + select {
	margin-left: .5em;
}

.inputtext.short:not(:last-child):not(.adjacent),
.selectmenu.short:not(:last-child):not(.adjacent) {
	margin-right: 2em;
}
/*
.inputtext label + span.suptext,
.inputtext label + span.notice,
.inputtext label + span.guide,
.inputtext span.notice + span.guide,
.inputfile label + span.suptext,
.inputfile label + span.notice,
.inputfile label + span.guide,
.inputfile span.notice + span.guide,
.selectmenu label + span.suptext,
.selectmenu label + span.notice,
.selectmenu label + span.guide,
.selectmenu span.notice + span.guide {
	margin-left: 1em;
}
*/

.outsidelabel label,
.outsidelabel span.notice,
.inputtext:not(.short) label,
.inputtext:not(.short) span.notice,
.inputfile:not(.short) label,
.inputfile:not(.short) span.notice,
.selectmenu:not(.short) label,
.selectmenu:not(.short) span.notice,
.checkbtn span.label,
.checkbtn span.notice {
	margin-right: 1em;
}

.form_item .outsidelabel {
	display: inline-block;
	width: 100%;
}

.form_item .outsidelabel.before {
	margin-bottom: .3em;
}

.form_item .outsidelabel.after {
	margin-top: .2em;
}

.form_item .selectmenu select {
	padding: .7em 1em;
	padding-right: 30px;
	background-position: 100% center;
	background-repeat: no-repeat;
	font-size: 1.2em;
	line-height: 1.6;
	transition: .2s;
	-webkit-appearance: none;
	appearance: none;
}

.form_item .selectmenu select::-ms-expand {
    display: none;
}


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

.form_item label.radio,
.form_item label.checkbox {
	display: inline-block;
	box-sizing: border-box;
	padding: .5em 1.5em;
	padding-left: 3em;
	vertical-align: middle;
	transition: .2s;
	position: relative;
	cursor: pointer;
}

.form_item label.radio:after,
.form_item label.checkbox:after {
	display: block;
	content: '';
	width: 16px;
	height: 16px;
	margin-top: -10px;
	transition: .2s;
	position: absolute;
	top: 50%;
	left: 15px;
}

.form_item label.radio:after {
	border-radius: 50%;
}

.form_item label.radio:before {
	display: block;
	content: '';
	width: 10px;
	height: 10px;
	margin-top: -5px;
	border-radius: 50%;
	opacity: 0;
	transition: .2s;
	position: absolute;
	top: 50%;
	left: 20px;
}

.form_item label.checkbox:before {
	display: block;
	content: '';
	width: 5px;
	height: 9px;
	margin-top: -7px;
	opacity: 0;
	transition: .2s;
	transform: rotate(45deg);
	position: absolute;
	top: 50%;
	left: 21px;
}

.form_item input[type=radio]:checked + label.radio:before,
.form_item input[type=checkbox]:checked + label.checkbox:before {
	opacity: 1;
}


.form_submit {
	text-align: center;
}

.form_submit input[type=submit] {
	height: 60px;
	border: none;
	cursor: pointer;
	transition: .2s;
	-webkit-appearance: none;
	appearance: none;
}

.form_submit .submit {
	width: 100%;
	padding: 0 20px;
	text-align: center;
	font-size: 16px;
	font-weight: 700;
	line-height: 40px;
}

.form_submit .reset {
	text-align: center;
	font-size: 14px;
	font-weight: bold;
	line-height: 40px;
	padding: 0 20px;
}

.confirm .form_submit input[type=submit] {
	margin: 5px;
}

.confirm .form_submit .submit {
	width: auto;
}

@media only screen and (min-width: 769px) {

	.confirm .form_submit .submit {
		width: 50%;
	}
}


.form_item input[type=file] {
	display: none;
}

.form_item .pseudoinputelem {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
}

.form_item .btn_append {
	display: inline-block;
	width: 100%;
	padding: .7em .5em;
	font-size: 1.2em;
	line-height: 1.6;
	text-align: center;
	overflow: hidden;
	transition: .2s;
	position: relative;
	cursor: pointer;
}

.form_item .btn_append span {
	display: inline-block;
	width: 100%;
	white-space: nowrap;
	vertical-align: middle;
	overflow: hidden;
}

.form_item .appendedfile {
	display: block;
	width: 100%;
	margin-bottom: .5em;
	padding: .7em 1em;
	font-size: 1.2em;
	line-height: 1.6;
	overflow: hidden;
	transition: .2s;
	position: relative;
	z-index: 1;
}

.form_item .inputfile:not(.iamgetype) .appendedfile.appended:before {
	width: 1em;
	margin-right: .3em;
	text-align: center;
	vertical-align: middle;
}

.form_item .inputfile:not(.iamgetype) .appendedfile span {
	display: inline-block;
	width: calc(100% - 1.5em);
	opacity: .3;
	text-overflow: ellipsis;
	white-space: nowrap;
	vertical-align: middle;
	overflow: hidden;
}

.form_item .inputfile:not(.iamgetype) .appendedfile.appended span {
	opacity: 1;
}

@media only screen and (min-width: 541px) {

	.form_item > div:not(.columns) .inputfile:not(.iamgetype) .btn_append {
		width: 30%;
		border-top-left-radius: 0 !important;
		border-bottom-left-radius: 0 !important;
	}

	.form_item > div:not(.columns) .inputfile:not(.iamgetype) .appendedfile {
		width: 70%;
		margin: 0;
		border-top-right-radius: 0 !important;
		border-bottom-right-radius: 0 !important;
	}
}

.form_item .iamgetype .pseudoinputelem {
	max-width: 200px;
	margin-left: auto;
	margin-right: auto;
}

#formblock.confirm .form_item .iamgetype .pseudoinputelem {
	margin-left: 0;
	margin-right: 0;
}

.form_item .iamgetype .appendedfile {
	padding: 0;
}

.form_item .iamgetype .appendedfile .thumb {
	display: block;
	width: 100%;
	height: 0;
	padding-top: 100%;
	overflow: hidden;
	transition: .2s;
	position: relative;
	z-index: 1;
}

.form_item .iamgetype .appendedfile .cover {
	display: block;
	padding: 0;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
}

.form_item .iamgetype .appendedfile .cover > span {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 100%;
	background-repeat: no-repeat;
	background-position: center center;
	background-size: 22%;
	text-align: center;
	position: relative;
}

.form_item .iamgetype .appendedfile .cover > span:before {
	content: '';
	width: 100%;
	height: 100%;
	transition: .2s;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
}

.form_item .iamgetype .appendedfile img {
	width: auto;
	max-width: 100%;
	height: auto;
	max-height: 100%;
	position: relative;
}


.picker select {
	font-size: .85em;
	line-height: 1.4;
}

.picker__select--year {
	width: 25% !important;
}

.picker__select--month {
	width: 25% !important;
}


.form_item .btn_clear {
	display: inline-block;
	width: 100%;
	font-size: .9em;
	line-height: 1;
	text-align: right;
	overflow: hidden;
	position: relative;
}

.form_item li.btn_clear {
	width: 100% !important;
	font-size: .9em !important;
	padding-top: .5em;
	padding-left: 1em;
	text-align: left;
}

.form_item .btn_clear a {
	display: inline-block;
	padding: .5em 1em;
	text-align: center;
}

.form_item .btn_clear a.hide {
	display: none;
}

.grecaptcha-badge {
	bottom: 80px !important;
	z-index: 99;
}