@charset "UTF-8";
@use "variables" as *;


.contactform-box {

	/* 確認ボタン */
	.form-navi {
		.input-submit {
			display: inline-block;
			padding: 20px;
			color: #ffffff;
			font-size: 112.5%;

			/* 24px */
			font-weight: bold;
			line-height: 1.5;
			text-decoration: none !important;
			text-align: center;
			background-color: var(--color-primary);
			border: none;
			position: relative;
			transition-duration: 0.3s;
			cursor: pointer;
			box-sizing: border-box;

			&:not(:first-child) {
				margin-left: 20px;
			}

			&:hover {
				opacity: 0.7;
			}

			&[name=correct] {
				background-color: #0a1432;
			}
		}
	}

	/* INPUT */
	.input-text,
	textarea {
		padding: 4px 10px;
		border: 1px solid #999999;
		box-sizing: border-box;
		color: #0a1432;
		min-height: 126px;

		&:focus {
			background-color: #f8f7f7;
		}
	}

	.input-text {
		&[disabled] {
			background-color: #f8f7f7;
		}

		&[readonly] {
			background-color: #ededed;
		}
	}

	select {
		padding: 4px 10px;
		border: 1px solid #0a1432;
		box-sizing: border-box;
		padding-top: 6px;
		padding-bottom: 6px;
		color: #0a1432;
	}

}



.error-top {
	padding: 10px 15px;
	border: 1px solid #E60012;
}

.error {
	color: #E60012;
}

/* TABLE */
#content table.formtable {
	width: 100%;
	margin-top: 20px;

	th {
		box-sizing: border-box;
		position: relative;
		font-weight: bold;
	}

	td {
		.sub {
			min-width: 50px;
			display: inline-block;
		}
	}

	tr {
		&:not(:last-child) {
			border-bottom: solid 1px #8097BD;
		}
	}
}

.fieldwrap {
	display: inline-block;
	vertical-align: baseline;

	.beforetext {
		display: inline-block;
		min-width: 32px;
		margin-right: 10px;
		text-align: center;
	}
}

@media print,
all and (min-width: 751px) {

	body.contact #title {
		background-image: url(../images/contact/title-bg.jpg);
	}

	.form-navi {
		padding-left: 12em;
	}

	.contactform-box {
		margin-top: 67px;

		.message {
			margin-bottom: 40px;
		}

		.form-table {
			margin-top: 70px;
		}

		.form-navi .input-submit {
			min-width: 300px;

			&:first-child:last-child {
				min-width: 460px;
			}
		}

		.input-text,
		.input-tel,
		.input-email,
		textarea {
			width: 100%;
			min-height: 46px;
		}
	}

	textarea {
		height: 190px !important;
	}

	.list_search-formbox .input-text {
		width: 100%;
	}

	.contactform-box .input-text[name=grade] {
		width: auto;
	}

	.input-text {

		&.name1,
		&.name2,
		&.kana1,
		&.kana2,
		&.age,
		&.zipcode1,
		&.zipcode2 {
			width: auto;
			margin-right: 5px;
			min-height: 46px;
		}

		&.tel,
		&.mail,
		&.alma_mater {
			width: 560px;
			margin-right: 5px;
			min-height: 46px;
		}
	}

	select {
		min-width: 290px;
		min-height: 46px;
		border-color: #999999;
	}

	table.formtable {

		th,
		td {
			padding: 25px 11px;
		}

		th {
			width: 165px;
		}
	}

	table.formtable:not(.confirm) th.rqs:after {
		content: "※";
		display: inline-block;
		vertical-align: baseline;
		margin-left: 5px;
		font-size: 87.5%;
		position: absolute;
		color: #c8283c;
		line-height: 1;
		padding: 4px;
		font-weight: bold;
	}

	.formError.inline {
		margin: 0 10px 10px;

		.formErrorContent {
			min-width: 80px;
			color: #c8283c;
		}
	}

	.contactform-box .message:after {
		display: none;
	}

	table.formtable {
		margin-bottom: 30px;
	}

	.contactform-box .formbox {
		margin-bottom: 40px;
	}

	.fieldwrap:not(:last-child) {
		margin-right: 30px;
	}
}

@media only screen and (max-width: 750px) {

	body.contact #title {
		background-image: url(../images/contact/title-bg.jpg);
	}

	.form-navi {
		text-align: center;

	}

	.contactform-box {
		.form-navi .input-submit {
			padding: 10px 40px;
			font-size: 106.25%;

			/* 17px */
			background-position: right 10px center;

			&:not(:first-child) {
				margin-left: 15px;
			}
		}

		.input-text,
		.input-tel,
		.input-email,
		textarea {
			width: 100%;
			min-height: auto;
		}

		.input-text[name=grade] {
			width: auto;
		}
	}

	#content table.formtable {

		tbody,
		tr {
			width: 100%;
			display: block;
		}

		th {
			border-left: none;
			width: 100%;
			display: block;
			padding: 10px;
		}

		td {
			border-left: none;
			width: 100%;
			display: block;
			padding: 10px;
			padding-bottom: 15px;
		}
	}

	.input-text,
	textarea,
	select {
		width: 100% !important;
		margin-bottom: 0 !important;
	}

	.input-text {
		&.age {
			width: auto;
		}

		&.name1,
		&.name2,
		&.kana1,
		&.kana2,
		&.ins01,
		&.ins02,
		&.cal,
		&.word,
		&.roomnum,
		&.age,
		&.zipcode1,
		&.zipcode2 {
			width: auto;
			max-width: 100%;
			margin-right: 5px;
			margin-bottom: 10px;
		}

		&.name2,
		&.kana2 {
			margin-bottom: 0;
		}
	}

	select {
		width: auto;
		max-width: 75%;
		margin-right: 5px;
		margin-bottom: 10px;
		border-color: #999999;
	}

	.input-text {

		&.zipcode1,
		&.zipcode2 {
			width: auto;
		}
	}

	table.formtable:not(.confirm) th.rqs:after {
		content: "※";
		display: inline-block;
		vertical-align: baseline;
		margin-left: 5px;
		color: #c8283c;
		font-size: 87.5%;
		position: absolute;
		top: 8px;
		line-height: 1;
		padding: 4px;
		font-weight: bold;
	}

	.formError.inline {
		margin: 10px;
		color: #c8283c;
	}

	.contactform-box .message:after {
		display: none;
	}

	table.formtable,
	.contactform-box .formbox {
		margin-bottom: 30px;
	}
}