@charset "utf-8";
/*
input[type="button"], input[type="submit"], input[type="reset"] {
	display: none;
}
*/
.form_table_style {
	table-layout: fixed;
	width: 100%;
}

.form_table_style tr {
	border-bottom: 1px solid var(--color-palegrayline);
}

.form_table_style th,
.form_table_style td {
	vertical-align: middle;
}

.form_table_style th,
.form_table_style td {
	padding: 15px 0;
}

.form_table_style th {
	position: relative;
	width: 200px;
	vertical-align: top;
	color: var(--color-palered);
    font-weight: bold;
	padding-right: 60px;
}

.form_table_style td {
	padding-left: 35px;
	padding-right: 50px;
	position: relative;
}

.form_table_style .form_checkmark {
	position: absolute;
	right: 0;
	top: 0px;
	bottom: 0;
	margin: auto;
}

.form_item_importance {
	font-size: 0.75rem;
	display: inline-block;
	padding: 3px 5px;
	line-height: 1.2em;
	color: #ffffff;
	background-color: #808080;
	margin-left: 15px;
	position: absolute;
	right: 15px;
	top: 20px;
}

.form_item_importance.required {
	background-color: var(--color-red);
}

.form_table_style input[type="checkbox"],
.form_table_style input[type="radio"] {
	display: none;
}

.form_table_style input[type="text"],
.form_table_style input[type="tel"],
.form_table_style input[type="password"],
.form_table_style input[type="number"],
.form_table_style input[type="email"],
.form_table_style input[type="date"] {
	padding: 10px 20px;
	width: 100%;
	background-color: rgb(238, 238, 238);
	border: 1px solid #eee;
	max-width: 100%;
}
.form_table_style input:not([type="button"]):read-only{
	pointer-events: none;
	background-color: rgb(238, 238, 238) !important;
}
.privacy_policy 
{
	display: grid;
    grid-template-columns: 40px 1fr;
	padding: 10px;
}
.privacy_policy input[type="checkbox"] {
	border: 1px solid var(--color-palegrayline);
	border-radius: 3px;
	padding: 10px;
	width: 15px;
	height: 15px;
	transform: scale(1.5);
	margin-right: 10px;
	appearance: checkbox;
}
.privacy_policy p
{
	grid-column: 1 / 3;
    padding-left: 31px;
}

.form_table_style select {
	padding: 10px 20px;
	cursor: pointer;
	background-color: #eee;
	border: 1px solid #eee;
	width: auto;
}

.form_table_style textarea {
	padding: 10px 20px;
	width: 100%;
	background-color: rgb(238, 238, 238);
	border: 1px solid #eee;
	height: 7em;
}

.form_table_style #ZIPCODE {
	width: 10em;
	margin-bottom: 20px;
	margin-left: 10px;
}

.form_table_style input.short_input {
	width: auto;
}

.form_table_style input.input_date {
	width: 50%;
}

.button_style.small {
	min-width: 150px;
	padding: 5px 10px;
	font-size: 14px;
}

.calendar_button {
	position: absolute;
	left: 52%;
	top: 25%;
}

#REMAINING {
	position: fixed;
	width: 100%;
	bottom: 0px;
	right: 0;
	z-index: 500;
	color: #FFFFFF;
	padding: 10px 15px;
	opacity: 0;
	transform: translate(0, 20px);
	transition: all 0.5s;
	pointer-events: none;
	text-align: center;
}

#REMAINING.fadein {
	opacity: 1;
	transform: translate(0, 0);
	pointer-events: all;
}

#REMAINING br {
	display: none;
}

.speech_bubble {
	position: absolute;
	background-color: #666666;
	color: #FFFFFF;
	padding: 5px 10px;
	font-size: 0.875rem;
	top: -14px;
	left: 30px;
	transform: translateY(-50%);
	transition: all 0.5s;
}

form table td div .speech_bubble {
	top: -30px;
	left: 10px;
}

.speech_bubble::after {
	position: absolute;
	content: '';
	width: 0;
	height: 0;
	border: solid 6px transparent;
	border-top: solid 8px #666666;
	bottom: -14px;
	left: 10px;
}

.speech_bubble_error {
	background-color: rgba(181, 27, 37, 0.7);
}

.speech_bubble_error::after {
	border-top-color: rgba(181, 27, 37, 0.7);
}

.label[for="BLOCK"] {
	display: inline-block;
	text-align: center;
	border-bottom: 1px solid #404040;
	margin-bottom: 40px;
}

input[id="BLOCK"]+div {
	display: none;
}

input[id="BLOCK"]:checked+div {
	display: block;
}

.form_title {
	color: var(--color-brown);
	font-size: min(1.5rem, 5.1vw);
	line-height: 1.1em;
	margin-top: 15px;
	font-family : var(--title-font);
}
.mail {
	display: none;
}

#GUIDE_CONTACT_CONTENTS {
	font-size: 0.857rem;
	margin-bottom: 10px;
}
#CONTACT_DATE, #CONTACT_TIME {
    display: none;
}
[data-estate_list]
{
	display: grid;
	grid-template-columns: 40px auto;
	margin-bottom: 5px;
}

/* 送信ボタン */
.button_abled
{
	pointer-events: auto;
	background : var(--color-blue);
	color : var(--color-white);
	border : 1px solid var(--color-blue);
}
.button_abled:after
{
	color : var(--color-white);
}
.button_abled:hover
{
	background : var(--color-white);
	color : var(--color-blue);
	border : 1px solid var(--color-blue);
}
.button_abled:hover:after
{
	color : var(--color-blue);
}

/* 未送信ボタン */
.button_disabled
{
	pointer-events: none;
	background : var(--color-lightgray);
	color : var(--color-black);
	border : 1px solid var(--color-black);
}

.button_disabled:after
{
	color : var(--color-gray);
}
.button_search_zip
{
	margin-bottom : 20px;	
	font-size : 14px;
}
@media screen and (max-width: 650px) {

	.form_table_style tr,
	.form_table_style tbody,
	.form_table_style th,
	.form_table_style td {
		display: block;
	}
	.form_table_style tbody
	{
		padding : 0px 5px;
	}
	.form_table_style th,
	.form_table_style td {
		border-bottom: 0;
		padding: 8px 0;
		width: 100%;
	}

	.form_table_style td {
		padding-right: 30px;
		margin-bottom: 10px;
	}

	.form_table_style th {
		padding-bottom: 3px;
		padding-top : 10px;
	}

	.form_item_importance {
		position: static;
	}

	.form_checkmark {
		top: 10px;
		right: 0;
	}
}