@charset "utf-8";



/* お問い合わせ ---------------------------------------------------------------------------------*/
.main .midashi .tel { font-size: var(--font-xl); }

.form {
	font-size: var(--font-m);
	margin-top: var(--margin-l);
}


/* フォーム -------------------------------------------------------------------------------------*/
::placeholder { color: var(--color-border); }

/* テキスト */
.form input[type="text"],
.form input[type="email"],
.form textarea,
.form select {
	border: var(--color-white) solid 1px;
	background-color: var(--color-gray);
	height: auto;
	padding: 11px var(--margin-xs) 10px;
	width: 100%;
}

/* テキストエリア */
.form textarea {
	height: 310px;
	line-height: var(--line-m);
	padding: var(--margin-xs);
}

/* リストボックス */
.form select {
	height: 45px;
	padding-right: 43px;
}
.form .select { position: relative; }
.form .select:after {
	background: url(../images/form_select_arrow.png) no-repeat right center;
	background-size: 43px auto;
	content: "";
	height: 43px;
	pointer-events: none;
	position: absolute;
	top: 1px;
	right: 1px;
	width: 43px;
}

/* チェックボックス */
.form input[type="checkbox"] {
	position: absolute;
	opacity: 0;
}
.form .checkbox {
	cursor: pointer;
	color: var(--color-white);
	display: inline-block;
	height: 20px;
	padding-left: 30px;
	position: relative;
	z-index: 0;
}
.form .checkbox::before {
	background-color: var(--color-white);
	border: var(--color-border) solid 1px;
	border-radius: 0;
	content: "";
	height: 20px;
	position: absolute;
	top: 5px;
	left: 0;
	width: 20px;
	z-index: 1;
}
.form .checkbox::after {
	border-right: var(--color-black) 3px solid;
	border-bottom: var(--color-black) 3px solid;
	display: block;
	content: "";
	height: 13px;
	opacity: 0;
	position: absolute;
	top: 7px;
	left: 6px;
	transform: rotate(45deg);
	width: 8px;
	z-index: 2;
}
.form input[type="checkbox"]:checked + span > .checkbox::after { opacity: 1; }

/* ボタン */
.form .button { margin-top: 0; }
.form .buttons {
	margin-top: var(--margin-s);
	text-align: center;
}
.form .buttons .submit,
.form .buttons .back { margin-top: var(--margin-ss); }

.form .buttons input[type="submit"],
.form .buttons .on a,
.form .buttons .back a,
.form .buttons .off span { width: 230px; }

.form .buttons .on a,
.form .buttons .back a,
.form .buttons .off span {
	margin: 0 auto;
	text-decoration: none;
}
.form .buttons .back a { width: 138px; }

.form .buttons > * { display: none; }
.form .buttons > .active { display: block; }

/* readonly */
.form input[type="text"]:read-only,
.form input[type="email"]:read-only,
.form textarea:read-only {
	background-color: var(--color-contact);
	border-color: var(--color-border);
}

.form input[type="checkbox"][readonly],
.form .checkbox.readonly::before { background-color: var(--color-contact); }

.form .ccontent { display: none; }
.form .ccontent.readonly { display: inline; }
.form #icontent.readonly { display: none; }


/* アイテム -------------------------------------------------------------------------------------*/
.form .item { margin-top: var(--margin-s); }
.form .value {
	margin-top: var(--margin-xxs);
	position: relative;
}

/* 必須 */
.form .required:after { content: "【必須】"; }

/* プライバシーポリシー */
.privacy {
	line-height: var(--line-m);
	margin-top: var(--margin-s);
}
.privacy a { text-decoration: underline; }


/* 入力エラー -----------------------------------------------------------------------------------*/
.erralert input,
.erralert textarea,
.erralert select { border-color: var(--color-error) !important ; }

.msgarea,
.errarea,
.errtext {
	color: var(--color-error);
	display: none;
	font-size: var(--font-m);
	padding-top: 4px;
}

.msgarea {
	color: var(--color-error);
	font-weight: var(--weight-b);
	line-height: var(--line-m);
}

.errarea { text-align: center; }
.errarea > div {
	display: inline-block;
	text-align: justify;
}
.errarea p {
	display: none;
	margin-top: var(--margin-xxs);
}

.errtext { font-size: var(--font-s); }

.msgarea.active,
.errarea.active,
.errarea p.active,
.erralert + .errtext { display: block; }


/* Comtact Form 7 -------------------------------------------------------------------------------*/
.wpcf7 .screen-reader-response { clip: none; height: auto; width: auto; }
.wpcf7-form-control-wrap { display: block; }
.wpcf7-not-valid-tip {
	color: var(--color-active) !important;
	font-size: var(--font-s) !important;
	position: absolute;
	top: -15px;
	left: 0;
}
.wpcf7-not-valid { background-color: var(--color-white)ff0 !important; }
.wpcf7 form.invalid .wpcf7-response-output, .wpcf7 form.unaccepted .wpcf7-response-output {
	border: none;
	color: var(--color-active);
	font-size: var(--font-s);
	margin: 15px 0 0;
	padding: 0;
	text-align: center;
}
.wpcf7 form.sent .wpcf7-response-output { display: none !important; }
div.wpcf7 .ajax-loader {
	position: absolute;
	visibility: hidden !important;
}
span.wpcf7-list-item { margin-left: 0; }
.wpcf7-spinner {
	margin: 0;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}


/* reCAPTCHA ------------------------------------------------------------------------------------*/
.grecaptcha-badge { display: none; }
.recaptcha {
	font-size: var(--font-s);
	line-height: var(--line-s);
	margin-top: var(--margin-ms);
	word-break: break-all;
	text-align: justify;
}
.recaptcha br { display: none; }
.recaptcha a { text-decoration: underline; }
/*-----------------------------------------------------------------------------------------------*/





@media(min-width: 530px) {
}



@media(min-width: 768px) {
	/* アイテム -------------------------------------------------------------------------------------*/
	.item { display: flex; }
	.label {
		margin-top: 22px;
		margin-right: 1em;
		text-align: right;
		width: 14em;
	}
	.value {
		margin-top: 0;
		width: calc(100% - 15em);
	}

	.form .flex {
		display: flex;
		align-items: flex-end;
		column-gap: var(--margin-m);
	}
	/* ボタン */
	.buttons { margin-top: var(--margin-m); }
	.buttons .back a { margin-right: 0 !important; }
	/* プライバシーポリシー */
	.form .check { flex: 1; }
	.privacy {
		margin-right: 1em;
		padding-top: var(--margin-xs);
	}
	/* 入力エラー -----------------------------------------------------------------------------------*/
	.msgarea { text-align: center; }
	.errtext { text-align: left; }
	/* Comtact Form 7 -------------------------------------------------------------------------------*/
	.wpcf7 form.invalid .wpcf7-response-output, .wpcf7 form.unaccepted .wpcf7-response-output { text-align: right; }
	/* reCAPTCHA ------------------------------------------------------------------------------------*/
	.recaptcha { text-align: right; }
	.recaptcha br { display: inline; }
}



@media(min-width: 1024px) {
}



@media(min-width: 1280px) {
}