@charset "UTF-8";

.wpcf7{
	margin-bottom: 160px;
}
table{
	width: 100%;
}
table p{
	margin: 0;
}
table tr{
	border-bottom: 1px solid var(--subcolor);	
	display: flex;
	align-items: center;
	padding: 2em 0;
}
table th{
	width: 30%;
	font-weight: 500;
}
table th .reqd{
	color: #fff;
	background: #dc3232;
	border: 1px solid #dc3232;
	padding: 0 0.2em;
	font-size: 0.8em;
	margin-left: 1em;
	border-radius: 2px;
	font-weight: 400;
}
table td{
	flex: 1;
}
table td input, table td select, table td textarea,
input[type="text"]{
	width: 100%;
	border: 1px solid var(--subcolor);
	padding: 10px 15px;
	border-radius: 3px;
	background: var(--subcolor);
}
input[type="text"]::placeholder,
input[type="email"]::placeholder,
input[type="tel"]::placeholder,
select:invalid,
textarea::placeholder {
	color: var(--linecolor);
}
option:nth-child(n+2){
	color: var(--maincolor);
}
table + p{
	text-align: center;
	margin-top: 2em;
}
span.wpcf7-spinner{
	display: none;
}
input[type="submit"]{
	border: 1px solid var(--maincolor);
	background: var(--maincolor);
	color: #fff;
	margin: 1em auto;
	width: 400px;
	height: 60px;
	letter-spacing: 0.2em;
	border-radius: 2px;
	cursor: pointer;
}
input[type="button"]{
	border: 1px solid var(--maincolor);
	background: #fff;
	color: var(--maincolor);
	margin: 1em auto;
	width: 400px;
	height: 60px;
	letter-spacing: 0.2em;
	border-radius: 2px;
	cursor: pointer;
}
input[type="submit"]:hover,
input[type="button"]:hover{
	opacity: 0.5;
}
p:has(.wpcf7-submit),
p:has(.wpcf7-previous){
	text-align: center;
	margin-top: 80px;
}
.wpcf7-list-item{
	margin: 0;
}
.contact-order{
	display: flex;
	justify-content: space-between;
	width: 500px;
	margin: 0 auto 80px auto;
	position: relative;	
}
.contact-order::before{
	position: absolute;
	content: "";
	top: 50%;
	width: 100%;
	height: 2px;
	background: var(--subcolor);
	z-index: -1;
}
.contact-order p{
	background: var(--subcolor);
	width: 100px;
	height: 100px;
	text-align: center;
	line-height: 100px;
	border-radius: 100px;
	margin: 0;
	font-weight: 500;
}
.contact-order span{
	display: block;
	background: var(--maincolor);
	color: #fff;
	width: 100px;
	height: 100px;
	text-align: center;
	line-height: 100px;
	border-radius: 100px;
	margin: 0;
	font-weight: 500;
}
.button-area p{
	display: flex;
}
.top-btn{
	width: 200px;
    margin: 0 auto ;

}
.top-btn a{
	display: inline;
	border-top: 1px solid var(--linecolor);
    border-bottom: 1px solid var(--linecolor);	
	padding: 1em 0;
}

@media screen and (max-width: 840px) {
	/* 840px以下に適用されるCSS（タブレット用） */
}


@media screen and (max-width: 540px) {
	/* 540px以下に適用されるCSS（スマホ用） */
table tr{
	flex-direction: column;
	padding: 2em 0;
}
table th{
	width: 100%;
	margin-bottom: 0.5em;
}
table td{
	width: 100%;
}
input[type="submit"],
input[type="button"] {
	width: 100%;
}

.contact-order{
	display: flex;
	justify-content: space-between;
	width: 300px;
	margin: 0 auto 80px auto;
	position: relative;	
}
.contact-order::before{
	position: absolute;
	content: "";
	top: 50%;
	width: 100%;
	height: 2px;
	background: var(--subcolor);
	z-index: -1;
}
.contact-order p{
	background: var(--subcolor);
	width: 80px;
	height: 80px;
	text-align: center;
	line-height: 80px;
	border-radius: 100px;
	margin: 0;
	font-weight: 500;
}
.contact-order span{
	display: block;
	background: var(--maincolor);
	color: #fff;
	width: 80px;
	height: 80px;
	text-align: center;
	line-height: 80px;
	border-radius: 100px;
	margin: 0;
	font-weight: 500;
}
.button-area p{
	display: block;
}


}