@charset "UTF-8";
/* CSS Document */

/**************************************************
 formHanger
**************************************************/

table.form-contact {
	width: 100%;
	padding: 0;
}

table.form-contact tr {
	align-items: center;
	padding-block: 2.8rem;
	border-top: 1px solid #dcdddd;
}

table.form-confilm tr:last-of-type {
	margin-bottom: 0;
}

table.form-contact th {
	font-size: 1.6rem;
	display: inline-block;
	font-weight: 500;
	color: #000;
	padding-inline-end: 4.8rem;
	width: 30%;
	text-align: right;
}

table.form-contact th span.required {
	color: #fff;
	background-color: #0076FF;
	font-size: 1.1rem;
	letter-spacing: 1.2px;
	padding-inline: 0.4rem;
	border-radius: 3px;
	margin-inline-start: 0.6rem;
	display: inline-block;
}

table.form-contact td {
	display: block;
	width: 70%;
	font-size: 1.5rem;
	padding: 0;
}


table.form-contact tr.check_btn {
	padding-block-start: 4rem;
}

table.form-contact tr.check_btn td {
	width: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
}



table.form-contact td ::placeholder {
	color: #B7B7B7;
}

table.form-contact td.con_radio label {
	margin-bottom: 1rem;
	padding-left: 4rem;
	position: relative;
	height: 3rem;
	display: flex;
	align-items: center;
	cursor: pointer;
}

table.form-contact td.con_radio label::before {
	content: '';
	background-color: #fff;
	border: 0.1rem solid #B7B7B7;
	width: 3rem;
	height: 3rem;
	border-radius: 50%;
	position: absolute;
	top: 50%;
	transform: translate(0%, -50%);
	left: 0;
}

table.form-contact td.con_radio label::after {
	content: '';
	background-color: #000;
	width: 1rem;
	height: 1rem;
	border-radius: 50%;
	position: absolute;
	top: 50%;
	transform: translate(0%, -50%);
	left: 1.1rem;
	opacity: 0;
}

table.form-contact td.con_radio span input:checked~label::after {
	opacity: 1;
}


table.form-contact td input[type="text"],
table.form-contact td textarea,
table.form-contact td input[type="email"],
table.form-contact td select {
	width: 100%;
	padding: 1.9rem 0 1.9rem 2rem;
	border: none;
	border-radius: 4px;
	background-color: #efefef;
}

table.form-contact td select {
	appearance: none;
	cursor: pointer;
}

table.form-contact td.con_list label {
	width: 48%;
	display: inline-block;
}

table.form-contact td.con_list label:first-child {
	margin-right: 2.4rem;
}

table.form-contact td input[type="tel"],
table.form-contact td.add-number input[type="text"] {
	padding: 1.9rem 0 1.9rem 2rem;
	border-radius: 4px;
	border: none;
	width: 100%;
	background-color: #efefef;
}

table.form-contact td.add-detail label:first-child input[type="text"] {
	margin-bottom: 1.2rem;
}

table.form-contact td.form_select {
	position: relative;
}

table.form-contact td.form_select::before {
	content: '';
	width: 1rem;
	height: 1.2rem;
	background: url(../../img/sangaku/contact/select_icon.svg)no-repeat center center;
	background-size: 100%;
	position: absolute;
	top: 50%;
	transform: translate(0, -50%);
	right: 2.4rem;
}

.agree {
	height: 3rem;
}

.agree span {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
}

.agree span label span {
	font-size: 1.6rem;
	color: #000000;
	display: flex;
	align-items: flex-start;
}

table.form-contact tr.check_btn td>p {
	width: 1.4rem;
	padding: 0;
	position: relative;
	top: 0.2rem;
	margin-inline: initial;
}

table.form-contact tr.check_btn td .fo_link {
	margin-inline-start: 3rem;

}

.fo_link>p {
	padding: 0;
}

.fo_link a {
	color: #1558D6;
	position: relative;
	padding-bottom: 0.1rem;
	margin-right: 0.5rem;
	font-weight: 600;
	font-size: 1.5rem;
}

.fo_link a:before {
	content: '';
	width: 100%;
	height: 0.1rem;
	background-color: #1558D6;
	position: absolute;
	bottom: 0;
	left: 0;
}


.form_btn {
	margin-block-start: 1.8rem;
}

.form_btn>p {
	padding: 0;
}

.form_btn button {
	width: 20rem;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 1.6rem;
	color: #fff !important;
	font-weight: 500;
	padding-inline: 1.6rem;
	padding-block: 1.6rem;
	border: 0.1rem solid #1558D6;
	border-radius: 5px;
	position: relative;
	background-color: #1558D6;
	line-height: 1.5;
	transition: .2s;
	margin-inline: auto;
}

.form_btn button input[type="submit"] {
	color: #fff;
	font-weight: 500;
}


.form_btn button svg {
	margin-inline-end: 2rem;
	transition: .5s;
	position: absolute;
	left: 1.6rem;
}

.form_btn button:hover {
	opacity: 0.5;
}

.form_btn button:hover svg {
	left: 19rem;
}

.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output,
.wpcf7 form.payment-required .wpcf7-response-output {
	font-size: 1.6rem;
	padding-block: 2.4rem;
	font-weight: 500;
}


/**************************************************
 contact_form7
**************************************************/
/* 
.form-contact p{
	padding: 0;
	font-size: 1.8rem;
	font-weight: 500;
}


.form-contact p strong{font-weight:500;padding-block-end: 0.8rem;display: block;}


.con_check .wpcf7-list-item{margin: 0;}
.wpcf7-list-item.first {
	margin: 0;
  }

  .wpcf7 form .wpcf7-response-output{font-size: 1.5rem;font-weight: 500;}

  .wpcf7-list-item-label {
	cursor: pointer;
	display: flex;
	position: relative;
	align-items: center;
	font-weight: 400;
  }



  input[type="radio"],  input[type="checkbox"] {
	opacity: 0;
	position: absolute;
  }
 
  .wpcf7-list-item-label::before {
	background: #fff;
	border: 1px solid #B7B7B7;
	border-radius: 100%; 
	content: "";
	height: 2em;
	margin-bottom: auto;
	margin-right: .5em;
	margin-top: auto;
	transition: background-color .5s; 
	width: 2em;
  }

  .wpcf7-list-item-label::after{
	background: #000;
	border: 1px solid #B7B7B7;
	border-radius: 100%;
	content: "";
	height: 1em;
	width: 1em;
	position: absolute;
	top: 50%;
	transform: translate(0%,-50%);
	left: 8px;
	opacity: 0;
  }

  .wpcf7-checkbox  .wpcf7-list-item-label::before{
	background-color: #fff;
    border: 1px solid #000;
    width: 28px;
    height: 28px;
    border-radius: 4px;
    top: -4px;
    left: 0px;
  }

  .wpcf7-checkbox  .wpcf7-list-item-label::after{
	border-bottom: 2px solid #FCAB42;
	border-left: 2px solid #FCAB42;
    opacity: 0;
    height: 5px;
    width: 10px;
    transform: rotate(-45deg);
    top: 9px;
    left: 9px;
	background-color: transparent;
	border-radius: 0;
	border-top: none;
	border-right: none;
  }


  input[type="radio"]:checked + .wpcf7-list-item-label::after,
  input[type="checkbox"]:checked + .wpcf7-list-item-label::after {
	opacity:1;
  }

.k_kubun span.wpcf7-list-item,
.z_kubun span.wpcf7-list-item{display: block;margin: 0;}

.submit_btn p{padding: 0;}

.submit_btn .wpcf7-submit{
	width: 176px;
	background-color: var(--main-color);
	color: #fff;
	font-size: 1.6rem;
	margin-inline: auto;
	display: block;
	padding-block: 16px;
	line-height: 1.5;
	font-weight: 600;
}

.privacy_cont{
	text-align: center;
}

.privacy_cont .pri_btn a{
	display: inline-block;
	border-bottom: 0.1rem solid #000;
	margin-block-start: 0.8rem;
	font-weight: 500;
	font-size: 1.4rem;
}

.privacy_cont .pri_btn a:hover{
	color: var(--main-color);
	border-bottom-color: var(--main-color);
}

.wpcf7-spinner{display: none!important;} */

.check_btn td .wpcf7-list-item-label {
	font-size: 0;
}

.form-contact p {
	padding: 0;
	font-size: 1.6rem;
	font-weight: 500;
}

table.form-contact td.con_list p {
	display: flex
}

table.form-contact td.con_list p:first-child {
	margin-right: 2.4rem;
}

.wpcf7-spinner {
	display: none !important;
}

.wpcf7-not-valid-tip {
	color: #1558D6;
	font-size: 1.5rem;
	font-weight: normal;
	display: block;
	position: absolute;
	width: 25rem;
}


/**************************************************
 responsive
**************************************************/
@media screen and (max-width: 767px) {




	table.form-contact tr {
		padding-block: 1.6rem;
	}

	table.form-contact {
		padding: 0;
	}

	table.form-contact th {
		font-size: 1.6rem;
		width: 100%;
		padding-block-end: 1.6rem;
		text-align: left;
		padding-inline-start: 0;
	}

	table.form-contact td {
		display: block;
		width: 100%;
		font-size: 1.4rem;
		padding: 0;
	}

	table.form-contact td.con_list p:first-child {
		margin-right: 0rem;
		display: block;
	}

	table.form-contact td.con_list label {
		width: 100%;
		margin-bottom: 12px;
	}

	table.form-contact td.con_list label:last-child {
		margin-bottom: 0;
	}

	table.form-contact td.con_list label:first-child {
		margin-right: 0;
	}

	.agree {
		margin-block-start: 1rem;
	}

	.smp {
		display: block;
	}


}