/*
----------------------------------------
contact
----------------------------------------
*/

.page #contents > header .ttl {
	color: #ffffff;
}

.form_vivian table {
	margin:0 0 24px 0; 
	width:100% !important; 
}

.form_vivian td, .form_vivian th {
	color: #666;
	border:1px solid #bbb; 
	padding:10px 15px; 
	line-height:2.2; 
}
.form_vivian th {
	color: #666;
	background:#ddd; 
	font-weight:normal; 
}
/* table style */
.form_vivian table.table_no_border th, 
.form_vivian table.table_no_border td { 
	border:none; 
	padding-left:0; 
}
.form_vivian table.table_border_horizontal th, 
.form_vivian table.table_border_horizontal td { 
	border-left:none; 
	border-right:none; 
	padding-left:0; 
}

.form_vivian#contact table#mfp_confirm_table tr th, 
.form_vivian#contact table#mfp_confirm_table tr td {
	line-height: 2.2;
}

.form_vivian#contact .remaining {
	border: solid 1px #E3D0C3;
}

.form_vivian #info {
	padding-bottom: 0px;
}

#contact p {
	padding: 20px 0 0 0;
	line-height: 2.4;
    margin: 0 0 2em 0;
	color: #666;
}

.form_vivian h2 {
	margin: 0;
    padding: 15px 22px;
    background: #E3D0C3;
    font-size: 26px;
    font-weight: 400;
    color: #ffffff;
}

.form_vivian .ttl-01.line {
	padding-bottom: 0;
    margin-bottom: 10px;
}

.form_vivian .ttl-01.line::after {
	content: none;
}

.form_vivian #form {
	background: transparent;
    padding: 0;
}

.form_vivian #form .form-wrap {
	padding: 0;
}

.form_vivian#contact button {
	color: #ffffff;
	background: #E3D0C3;
	border: none;
}
.form_vivian#contact button.disable,
.form_vivian#contact button.mfp_element_reset,
.form_vivian#contact button#mfp_button_cancel {
	color: #ffffff;
	background: #E3D0C3;
	border: none;
}

.form_vivian#contact button#mfp_button_cancel {
	border: solid 1px #E3D0C3;
	background-color: #ffffff;
	color: #666;
}

.form_vivian div#mfp_phase_confirm {
	padding-top: 0;
    margin-bottom: 180px;
}

.form_vivian#contact .remaining .num {
	background: #E3D0C3 ;
	margin: 0;
}
.form_vivian#contact .remaining .read {
	margin-bottom: 0;
}

.form_vivian#contact .req-label {
	background: transparent;
	color: #666;
}

#contact th,
#contact td {
	padding: 2%;
}

#contact th {
	width: 30% !important;
	background: none;
	text-align: left;
	vertical-align: middle !important;
}

#contact th span {
	margin: 0 0 0 10px;
	padding: 2px 5px;
	background: #E3D0C3;
	color: #ffffff;
	font-size: 80%;
}


#contact td {
	width: 62% !important;
}

#contact td select,
#contact td input {
	margin: 1% 0;
	padding: 2%;
	border: 1px solid #999999;
}

#contact .salon input {
	width: 40%;
	margin-right: 5px;
}

.select-wrap {
	position: relative;
	display: inline-block;
	width: 100%;
	max-width: 300px; /* 必要に応じて */
}

.select-wrap select {
	width: 100%;
	padding: 10px 40px 10px 10px;
	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;
}

.select-wrap::after {
	content: "▼";
	position: absolute;
	right: 12px;
	top: 50%;
	transform: translateY(-50%);
	pointer-events: none;
	font-size: 12px;
	color: #555;
}

.contact_vivian .back-btn a {
	color: #E3D0C3;
	border: solid 1px #E3D0C3;
}
@media screen and (min-width: 768px) {
    .contact_vivian .back-btn a:hover {
		color: #ffffff ;
        background: #E3D0C3 ;
    }
}

@media screen and (max-width: 768px) {
	#contact th,
	#contact td {
		display: block;
		width: 96% !important;
		border: none;
	}

	#contact th {
		border: none;
		padding: 2% 2% 0 2%;
	}

	#contact th span {
		margin: 0 0 0 10px;
		padding: 2px 5px;
		background: #E3D0C3;
		color: #ffffff;
		font-size: 80%;
	}
	#contact td {
	padding: 1% 2% 2% 2%;
	border-top: none;
	border-right: none;
	border-left: none;
	border-bottom: 1px solid #cccccc;
	}

	#contact td select,
	#contact td input {
		margin: 1% 0;
		padding: 2%;
		border: 1px solid #999999;
	}
	.form_vivian h2 {
		font-size: 1.6rem;
	}
	.pp-box {
		padding: 0px 0px 20px;
        background: #f5f5f5;
	}
}