/* -----------------------------------------------
   Reset CSS 
-------------------------------------------------- */
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;
}


/* -----------------------------------------------
   無料相談申し込みフォーム 
-------------------------------------------------- */
input,
button,
select,
textarea {
	padding: .6em .8em .7em;
	border: 1px solid #BBB;
	border-radius: 4px;
	box-sizing: border-box;
	font-size: 15px;
}
input.expert-name:read-only {
	padding: .2em 0 .3em;
	border: 0;
	font-size: 16px;
	font-weight: 600;
}
textarea {
	width: 100%;
}
select {
	padding: .8em 3em 1em 1em;
}
.select1 {
	position: relative;
}
.select1::after {
    position: absolute;
    top: 12px;
    left: 238px;
    transform: translate(50%, -50%) rotate(45deg);
    width: 8px;
    height: 8px;
    border-bottom: 2px solid #333;
    border-right: 2px solid #333;
	content: '';
}
.wpcf7-date {
	padding: .5em .8em .6em;
}
.size-s {
	width: 200px;
}
.size-m {
	width: 340px;
}
.size-l {
	width: 100%;
}
table.CF7_table td .wpcf7-not-valid-tip {
	font-weight: bold;
	margin-top: .5em;
	font-size: 14px;
}

td.checkbox label {
	position: relative;
	padding-left: 2em;
	padding-right: .8em;
}
p#check label {
	position: relative;
	margin-left: -2em;
	padding-left: 2em;
}
td.checkbox label::before,
p#check label::before {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 25px;
	height: 25px;
	border: 1px solid #BBB;
	border-radius: 2px;
	background: #FFF;
}
td.checkbox label:has(:checked)::before,
p#check label:has(:checked)::before {
	content: "";
    background-color: #EDEDED;
}
td.checkbox label:has(:checked)::after,
p#check label:has(:checked)::before {
    position: absolute;
    top: 5px;
    left: 9px;
    transform: rotate(45deg);
    width: 6px;
    height: 12px;
    border: solid #222;
    border-width: 0 2px 2px 0;
    content: '';
}
p#check label:has(:checked)::before {
    top: 1px;
    left: 9px;
    width: 9px;
    height: 18px;
    border: solid #222;
    border-width: 0 3px 3px 0;
    content: '';
}

.button-1 {
	position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 0 auto;
    padding: .9em 6em 1em 1.2em;
    border: none;
    border-radius: 6px;
    background-color: #2F39C8;
    color: #fff;
    font-weight: 600;
    font-size: 1.2em;
	transition: opacity .3s ease;
}
.button-1:hover {
    opacity: .6;
}
.button-1:disabled {
	opacity: .2;
}
.button-1:disabled:hover {
    opacity: .2;
}

p#submit span.btn {
	position: relative;
}
p#submit span.btn::after {
	display: block;
	position: absolute;
	font-size: 18px;
	font-family: "Font Awesome 6 Free";
	font-weight: 900;
	color: #FFF;
	top: calc(50% - 28px);
	right: -4.5em;
	content: "\f1d8";
}

div.contact .wpcf7-spinner {
	margin-top: 10px;
}

div.contact .wpcf7 form .wpcf7-response-output{
	margin: -5em 0 5em 0;
	padding: .8em 1em;
	box-sizing: border-box;
	font-weight: bold;
	color: #FF4F52;
	text-align: center;
}
div.contact .wpcf7 form.invalid .wpcf7-response-output,
div.contact .wpcf7 form.unaccepted .wpcf7-response-output,
div.contact .wpcf7 form.payment-required .wpcf7-response-output {
	border: 2px solid #FF4F52;
}

div.contact .wpcf7 form.sent .wpcf7-response-output {
	color: #46b450;
}
