@charset "utf-8";

/* ============================================================================================== */
/* common Contact                                                                                 */
/* ============================================================================================== */

#contact-description .child__txt {
	text-align: left;
	margin-bottom: 45px;
}

#contact-description .child__txt .footnote {
	display: block;
}

/* Form */

#forms {
	max-width: 700px;
	margin: 0 auto;
}

.form-item {
	margin: 0 0 20px;
}

.form-item dt {
	margin-bottom: 5px;
	color: #000;
}

.form-item dd {
	width: 100%;
}

.confirm .form-item dt {
	font-size: 1.3rem;
	color: #333;
}

.contact-body .child-section {
	margin-bottom: 0 !important;
}

.form-item.message-wrap {
	margin-bottom: 0;
}

.form__btn-wrap {
	text-align: center;
	margin: 0 auto;
	padding-top: 45px;
}

.form__btn-wrap .btn {
	font-weight: 600;
	display: block;
}

/* Error */

.form-error {
	max-width: 700px;
}

/* Confirm */

.confirm .child-section__txt-wrap.ja {
	max-width: 700px;
	margin: 0 auto;
}

.confirm .child-section__txt {
	text-align: center;
}

.confirm .form-item {
	padding: 15px 0;
	border-bottom: 1px solid rgba(20,60,120,0.1);
	margin: 0;
}

.confirm form {
	border-top: 1px solid rgba(20,60,120,0.1);
}

.btn--submit .btn {
	font-weight: 600;
}

/* Finish */

.finish__txt {
	font-weight: 600;
	font-size: 1.4rem;
}

.finish__field {
	position: relative;
	padding: 40px 20px;
	max-width: 680px;
	box-sizing: border-box;
}

.finish__field:before,
.finish__field:after {
	content: "";
	position: absolute;
	width: 20px;
	height: 20px;
	background-color: transparent;
}

.finish__field:before {
	top: 0;
	right: auto;
	left: 0;
	bottom: auto;
	border-top: 1px solid rgba(51,51,51,1);
	border-left: 1px solid rgba(51,51,51,1);
}

.finish__field:after {
	top: auto;
	right: 0;
	left: auto;
	bottom: 0;
	border-bottom: 1px solid rgba(51,51,51,1);
	border-right: 1px solid rgba(51,51,51,1);
}

#contact-description.finish__field .child__txt {
	margin-bottom: 0;
}

.finish__field .child__txt .child-section__txt-wrap:last-child {
	margin-bottom: 0;
}

.finish__field .text-link-wrap {
	margin-bottom: 0;
}

.finish__txt {
	text-align: center;
}

.section__btn {
	text-align: center;
}

.input--select-wrap select,
.input--select {
	font-size: 0.86em;
	padding: 0.8em 2.5em 0.8em 0.8em;
}

/* ============================================================================================== */
/* Media query                                                                                    */
/* ============================================================================================== */

/* ----------------------------------------------------------------------- */
/* SmartPhone */

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

}

/* ---------------------------------------------------------------------------------------------- */
/* Tablet                                                                                         */

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

	.form-item {
		margin: 0 0 30px;
	}

	.finish__field {
		padding: 40px 30px;
	}

}

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

	#contact-description .child__txt {
		text-align: center;
	}

	/* Confirm */

	.confirm .form-item {
		padding: 30px 0;
	}

	/* Finish */

	.finish__txt {
		font-size: 1.5rem;
	}

}

/* ----------------------------------------------------------------------- */
/* over ipad landscape */

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

	#contact-description .child__txt {
		margin-bottom: 80px;
	}

	/* Form */

	.form-item {
		display: flex;
		align-items: center;
		justify-content: flex-start;
		margin: 0 0 40px;
	}

	.form-item.message-wrap {
		align-items: flex-start;
	}

	.form-item dt {
		font-size: 1.3rem;
		width: 200px;
		margin-bottom: 0;
	}

	.form-item dd {
		width: calc(100% - 200px);
	}

	.form__btn-wrap {
		font-size: 1.5rem;
	}

	textarea {
		min-height: 260px;
	}

	.form__btn-wrap {
		padding-top: 75px;
	}

	/* Confirm */

	.confirm .child-section__txt {
		text-align: left;
	}

	.confirm .form-item {
		padding: 35px 0;
	}

	/* Finish */

	.finish__field {
		padding: 70px 0 65px;
	}

}

/* ----------------------------------------------------------------------- */
/* Desktop */

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

}

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

}





