@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;
 */
	border-bottom: 1px solid #81bee6;
}

#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 {
	/* 項目：/contact/ の input・select（textarea等含む）を角丸に。ボーダーは常時2px（hover以外も） */
	border-radius: 8px;
	border: 2px solid #fff;
}

/* 項目：/contact/ の input・select・textarea は hover 時にボーダーを2px（視認色）に */
.form_item .inputtext input[type=text]:hover,
.form_item .inputtext input[type=email]:hover,
.form_item .inputtext input[type=url]:hover,
.form_item .inputtext input[type=tel]:hover,
.form_item .inputtext input[type=number]:hover,
.form_item .inputtext textarea:hover,
.form_item .selectmenu select:hover {
	border-width: 2px;
	border-color: #81bee6;
}

#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: #f2f2f2;
}

.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: #81bee6;
	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 #44a0dc;
	background-color: #44a0dc;
	color: #fff;
}

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

.form_item .btn_append:hover,
.form_item .btn_append.hover {
	border-color: #81bee6;
	background-color: #81bee6;
}

.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 #44a0dc;
	background-color: #44a0dc;
	color: #fff;
	text-decoration: none;
}

.form_item .btn_clear a:hover,
.form_item .btn_clear a.hover {
	border-color: #81bee6;
	background-color: #81bee6;
}

/* 項目：form_submit の submit・reset を角丸に */
.form_submit input[type=submit],
.form_submit .submit,
.form_submit .reset {
	border-radius: 8px;
}

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

.form_submit .submit.hover {
	background-color: #81bee6;
}

.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: 999px;
}


.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;
	/* 項目：必須バッジをピル型に */
	border-radius: 999px;
}

.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: #44a0dc;
}

.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: 5px;
}


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


.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.4;
}

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

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

.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;
}

.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 の下部ボーダー削除（#formblock .formpart の border-bottom を上書き） */
#formblock #agreement {
	border-bottom: none;
}

#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 > 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;
}


.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;
}

/* reCAPTCHA v3 のバッジ。お問い合わせ配下にだけ出る（mu-plugins/jtps-recaptcha.php）。

   既定は画面右下（bottom: 14px）で、そこはトップへ戻るボタン（#jump）の位置。
   #jump は JavaScript で bottom: 80px に置かれ（ae_govern.js の ae.gov.jp）、
   高さが 74px なので下から 154px までを占める。バッジはその上に重ねて逃がす。

     80（#jump の下端） + 74（#jump の高さ） + 10（すき間） = 164px

   ★#jump の bottom は CSS ではなく JavaScript が書く。ae_govern.js の
     b = '80px' を変えたときは、ここの数字も合わせること。 */
.grecaptcha-badge {
	bottom: 164px !important;
	z-index: 99;
}

.form_item .readonly {
	pointer-events: none;
}


