@charset "utf-8";


/*-----------------------------------------------------------------------------------------------*/
/* お問い合わせ ---------------------------------------------------------------------------------*/
/*-----------------------------------------------------------------------------------------------*/
.main .tel {
	background-color: var(--bg-th);
	font-size: var(--font-m);
	line-height: var(--line-m);
	margin-top: var(--margin-30);
	padding: 20px 0 25px;
	text-align: center;
}
.main .tel span {
	font-size: var(--font-ll);
	font-weight: var(--weight-b);
}

.main .banner { margin-top: var(--margin-30); }

/* ボタン */
.main .buttons {
	display: flex;
	flex-direction: column;
	row-gap: var(--margin-20);
	margin-top: var(--margin-60);
}
.main .buttons .button { margin-top: 0; }
.main .button.back a {
	padding: var(--button-padding-m);
	min-width: var(--button-recruit-w);
}
.main .button input { display: none; }
.main .button.submit,
.main .button.back { display: none; }


/* フォーム -------------------------------------------------------------------------------------*/
.form { font-size: var(--font-m); }

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

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

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

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


.form input:disabled,
.form textarea:disabled,
.form select:disabled { background-color: var(--bg-body); }

/* アイテム -------------------------------------------------------------------------------------*/
.form .contents {
	display: flex;
	flex-direction: column;
	row-gap: var(--margin-20);
	margin-top: var(--margin-60);
}
.form .item {
	display: flex;
	flex-direction: column;
	row-gap: var(--margin-10);
	margin-top: var(--margin-10);
}
.form .label {
	font-size: var(--font-l);
	font-weight: var(--weight-b);
}
.form .label span {
	display: block;
	font-size: var(--font-m);
	font-weight: var(--weight-r);
	line-height: var(--line-m);
	margin-top: var(--margin-10);
}
.form sup {
	font-size: var(--font-l);
	font-weight: var(--weight-b);
	top: 0;
}
.form .msg {
	line-height: var(--line-m);
	margin-top: var(--margin-10);
}

.form .privacy {
	font-size: var(--font-l);
	line-height: var(--line-l);
	margin-top: var(--margin-30);
	text-align: justify;
}
.form .privacy h4,
.form .privacy ul + p { margin-top: 2em; }
.form .privacy h4 + * { margin-top: var(--margin-10); }
.form .privacy ul {
	display: flex;
	flex-direction: column;
	row-gap: var(--margin-10);
}
.form .privacy li {
	padding-left: 1em;
	text-indent: -1em;
}
.form .privacy li::before { content: "・"; }


/* 入力エラー -----------------------------------------------------------------------------------*/
.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;
}
.errorarea {
	color: var(--color-error);
	font-weight: var(--weight-b);
}

.errarea p {
	display: none;
	margin-top: var(--margin-10);
}

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

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


/* 確認ページ -----------------------------------------------------------------------------------*/
.formcheck .container > .comment {
	color: var(--color-hover);
	font-weight: var(--weight-b);
}
.formcheck .item.law,
.formcheck .privacy,
.formcheck .button.check { display: none; }
.formcheck .button.submit,
.formcheck .button.back { display: block; }
/*-----------------------------------------------------------------------------------------------*/





@media(min-width: 530px) {
	/*-----------------------------------------------------------------------------------------------*/
	/* お問い合わせ ---------------------------------------------------------------------------------*/
	/*-----------------------------------------------------------------------------------------------*/
	/* ボタン */
	.main .buttons {
		flex-direction: row-reverse;
		align-items: center;
		justify-content: center;
		column-gap: var(--margin-60);
	}
	/*-----------------------------------------------------------------------------------------------*/
}



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



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



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