@charset "UTF-8";
/*-----------------------------------

	mainvisual

-----------------------------------*/
.mainvisual{
	
}
/*-----------------------------------

	reset(form用)

-----------------------------------*/
input,
button,
select,
textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: transparent;
  border: none;
  border-radius: 0;
  font: inherit;
  outline: none;
}
textarea {
  resize: vertical;
}
input[type='checkbox'],
input[type='radio'] {
  display: none;
}
input[type='submit'],
input[type='button'],
label,
button,
select {
  cursor: pointer;
}
select::-ms-expand {
  display: none;
}
/*-----------------------------------

	contact_block

-----------------------------------*/
#contact_block {
	padding: 0 0 50px;
	background: none;
	color: #514327;
}
#contact_block .att_txt{
	text-align: right;
}
#contact_block.complete {
	text-align: center;
}
#contact_block.complete h2 {
	font-size: 24px;
	line-height: 1.4;
	margin-bottom: 30px;
}
#contact_block .form_wrap {
	padding: 40px;
}
#contact_block .att_txt {
	font-weight: 400;
	line-height: 1.5;
	letter-spacing: 0.06em;
	margin-bottom: 16px;
}
#contact_block .att_txt .required {
	margin-right: 5px;
}
#contact_block .form_wrap .required {
	color: #F5773C;	
}
#contact_block table {
	width: 100%;
	line-height: 1.4;
	margin-bottom: 50.5px;
}
#contact_block table th {
	font-weight: 500;
	text-align: left;
	vertical-align: middle;
	width: 258px;
	padding: 25px 0;
}
#contact_block table th .required {
	margin-left: 10px;
}
#contact_block table td {
	width: calc(100% - 258px);
	padding: 25px 0;
	text-align: left;
}
#contact_block table td input,
#contact_block table td textarea {
	border: 1px solid rgba(183, 183, 183, 0.8);
	padding: 15.5px 10px;
	border-radius: 3px;
}
#contact_block table td .wFull {
	width: 100%;
}
#contact_block table td textarea {
	height: 161px;
}
#contact_block .entry_wrap {
	text-align: center;
	margin-bottom: 60px;
}
#contact_block p {
	line-height: 1.56;
}
#contact_block .alert {
	color: #F5773C;
	font-size: 18px;
}
#contact_block .error {
	color: #F5773C;
}
#contact_block .entry_wrap a {
	color: #F5773C;
	text-decoration: underline;
}
#contact_block .entry_wrap .required {
	margin-left: -5px;
}
#contact_block .entry_wrap label {
	display: inline-block;
	line-height: 1.9;
	text-align: left;
    padding-left: 35px;
	margin-top: 30px;
	position: relative;
    cursor: pointer;
}
#contact_block.confirm .entry_wrap label {
	cursor: auto;
	padding-left: 0 !important;
}
.entry_wrap label::before,
.entry_wrap label::after {
    content: "";
    display: block;
    position: absolute;
    transform: translateY(-50%);
    top: 50%;
}
#contact_block.confirm .entry_wrap label::before,
#contact_block.confirm .entry_wrap label::after {
	display: none;
}
#contact_block .entry_wrap label::before {
    border: 1px solid #B7B7B7;
    width: 25px;
    height: 25px;
    left: 0;
	border-radius: 3px;
}
#contact_block .entry_wrap label::after {
	border-bottom: 2px solid #F5773C;
    border-left: 2px solid #F5773C;
    height: 8px;
    width: 16px;
    transform: rotate(-45deg) translateY(-90%);
    top: 50%;
    left: 10px;
    margin: auto;
	opacity: 0;
}
#contact_block .entry_wrap label:has(input:checked)::after {
	opacity: 1;
}
#contact_block .btnArea {
	display:-webkit-box;
	display:-ms-flexbox;
	display:flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	gap: 30px;
}
#contact_block .btnArea a{
	width: 240px;
    margin: auto;
}
#contact_block .btnArea .btn {
	position: relative;
	padding-left: 0;
	padding: 0;
}
#contact_block .btnArea .submit,
#contact_block .btnArea .confirm,
#contact_block .btnArea .back {
	color: #fff;
	margin: auto;
    display: block;
	padding: 18.1px 0 16.1px;
	width: 100%;
}
#contact_block h2{
	font-size: 23px;
	margin-bottom: 20px;
}

@media screen and (max-width: 840px) {
	#contact_block {
		padding: 0 0 50px;
	}
	#contact_block .form_wrap{
		padding: 0;
	}
	#contact_block table th{
		width: 210px;
	}
	#contact_block h2{
		font-size: 20px;
	}
}
@media screen and (max-width: 640px) {
	#contact_block table{
		margin-bottom: 30px;
	}
	#contact_block table th,
	#contact_block table td{
		display: block;
		width: 100%;
	}
	#contact_block table th{
		padding: 25px 0 10px;
	}
	#contact_block table td{
		padding: 0 0 10px;
	}
	#contact_block .entry_wrap{
		margin-bottom: 30px;
	}
	#contact_block .entry_wrap label{
		margin-top: 15px;
	}
	#contact_block .btnArea{
		flex-direction: column;
	}
}