@charset "UTF-8";

.gr_btn::before{
	z-index: 1;
}
/*-----------------------------------
	form_block
-----------------------------------*/
input,
select,
textarea {
	margin: 0;
	padding: 0;
	background: none;
	border: none;
	border-radius: 0;
	outline: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}
input[type="text"],
input[type="tel"],
input[type="email"],
textarea,
select{
	font-size: 14px;
	font-weight: 400;
	letter-spacing: 0.05em;
	background: #fff;
	width: 100%;
	padding: 10px 16px;
	border-radius: 5px;
}
input[type="radio"]{
	display: none;
}
input[type="checkbox"]{
	display: none;
}
select {
	color: #000000;
}
input[type="text"]::placeholder,
textarea::placeholder {
	color: #d95d5d;
}


.wpcf7-spinner{
	display: none;
}
.wpcf7-list-item{
	margin: 0;
}
.wpcf7-form-control-wrap{
	width: 100%;
}
.wpcf7-list-item-label{
	cursor: pointer !important;
}


/*******************************************/

#form_block{
	padding: 60px 0 0;
}
#form_block .intro_txt{
	margin-bottom: 20px!important;
}
#form_block .contact_wrap,
#form_block .intro_txt{
	max-width: 840px;
	width: 100%;
	margin: auto;
}
#form_block .contact_wrap .contact_box{
	display: flex;
	word-break: break-all;
}
#form_block .contact_wrap .contact_box:not(:last-child){
	margin-bottom: 30px;
}
#form_block .contact_wrap .contact_box .ttl{
	margin-bottom: 10px;
	font-weight: 700;
	width: 170px;
}
#form_block .contact_wrap .contact_box input,
#form_block .contact_wrap .contact_box textarea{
	background: #EFF0F1;
}
#form_block .contact_wrap .contact_box p{
	word-break: break-all;
	white-space: pre-wrap;
}

#form_block .contact_wrap .contact_box .radio_box{
	gap: 10px;
	align-items: center;
}
#form_block .contact_wrap .contact_box .radio_box .radio,
#form_block .contact_wrap .contact_box .radio_box .wpcf7-list-item label{
	position: relative;
	padding-left: 30px;
	margin-right: 20px;
}
#form_block .contact_wrap .contact_box .radio_box .radio::before,
#form_block .contact_wrap .contact_box .radio_box .wpcf7-list-item label::before{
	content: "";
    width: 22px;
    height: 22px;
    left: 0;
    display: block;
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
    background: #EFF0F1;
    border-radius: 50%;
    pointer-events: none;
}
#form_block .contact_wrap .contact_box .radio_box .radio::after,
#form_block .contact_wrap .contact_box .radio_box .wpcf7-list-item label::after{
	content: "";
    display: block;
    position: absolute;
    top: 0;
	bottom: 0;
    background: #00B796;
    height: 13px;
    width: 13px;
	border-radius: 50%;
    left: 5px;
    margin: auto;
    opacity: 0;
    pointer-events: none;
}

#form_block .contact_wrap .contact_box .radio_box .radio:has(input:checked)::after{
    opacity: 1;
}

#form_block .contact_wrap .contact_box .radio_box .wpcf7-list-item label::after {
    opacity: 0;
}
#form_block .contact_wrap .contact_box .radio_box .wpcf7-list-item label.checked::after {
    opacity: 1;
}

.required{
	color: #d95e5e;
	margin-left: 10px;
}

#form_block .btn_box{
	margin: 50px auto 0;
	gap: 20px;
	justify-content: center;
}
#form_block .btn_box input{
	color: #fff;
	/*padding: 7px 5px 10px 0;*/
	padding: 0!important;
    width: 100%;
    height: 100%;
	cursor: pointer!important;
	text-align: left;
	font-size: 16px;
}

#form_block .privacy_box{
	margin: 30px auto 0;
	text-align: center;
}
#form_block .privacy_box label.agree{
	position: relative;
	padding-left: 37px;
	cursor: pointer;
}
#form_block .privacy_box label.agree::before{
	content: "";
    width: 22px;
    height: 22px;
    left: 0;
    display: block;
    position: absolute;
	top: 0;
	bottom: 0;
	margin: auto;
    background: #EFF0F1;
	border-radius: 2px;
	pointer-events: none!important; 
}
#form_block .privacy_box label.agree::after{
	content: "";
    display: block;
    position: absolute;
    top: 50%;
    border-bottom: 3px solid #00B796;
    border-left: 3px solid #00B796;
    height: 8px;
    width: 16px;
    transform: rotate(-45deg) translateY(-90%);
    left: 8px;
    margin: auto;
    opacity: 0;
	pointer-events: none;
	transition: opacity 0.3s ease;
}
/*#form_block .privacy_box label.agree:has(input:checked)::after{
    opacity: 1;
}*/

#form_block .privacy_box label.agree::after {
    opacity: 0;
}
#form_block .privacy_box label.agree.checked::after {
    opacity: 1;
}

#form_block .privacy_box label.agree a{
	text-decoration: underline;
}
#form_block .privacy_box label.agree a:hover{
	opacity: 0.8;
}


@media screen and (max-width: 840px) {
}
@media screen and (max-width: 640px) {
	#form_block .btn_box{
		margin: 40px auto 0;
	}
	#form_block .contact_wrap .contact_box{
		display: block;
	}
	#form_block .contact_wrap .contact_box:not(:last-child){
		margin-bottom: 20px;
	}
	#form_block .contact_wrap .contact_box .ttl{
		width: 100%;
	}
	#form_block .privacy_box{
		margin: 20px auto 0;
	}
	#form_block .privacy_box label.agree{
		font-size: 12px;
	}
	
	#form_block .btn_box input{
		font-size: 14px;
	}
}


/*-----------------------------------
	complete_block
-----------------------------------*/
#form_block.complete_block .h3_ttl{
	text-align: center;
	margin-bottom: 20px;
	font-size: 30px;
}
#form_block.complete_block  p{
	text-align: center;
}

@media screen and (max-width: 840px) {
}
@media screen and (max-width: 640px) {
	#form_block.complete_block .h3_ttl{
		font-size: 20px;
		margin-bottom: 10px;
	}
}



