JSFiddle - React, Tailwind, and code Playground
HTML
<div class="form-check">
<input class="form-check-input" type="checkbox" name="entry.941106590" id="entry.941106590.Строительство и недвижимость" value="Строительство и недвижимость">
<label class="form-check-label" for="entry.941106590.Строительство и недвижимость">Строительство и недвижимость</label>
</div>
<div class="form-check form-check-other">
<input class="form-check-input" type="checkbox" name="entry.941106590" id="entry.941106590.other_option_response" value="__other_option__">
<input class="form-control" type="text" name="entry.941106590.other_option_response" value="" placeholder="Иное" onchange="document.getElementById(this.name).checked=true">
</div>
CSS
label {
font-size: 2rem;
color: #303030;
letter-spacing: 0.04rem;
line-height: 2.5rem;
}
label {
margin: 0px;
padding-top: 0px;
padding-bottom: 6px;
line-height: 180%;
}
.form-check-label, .form-check-other {
display: inline-block;
padding-left: 2.5rem;
font-size: 1.4rem !important;
}
input[type="checkbox"].form-check-input {
position: absolute;
left: -9999px
}
input[type="checkbox"].form-check-input+label {
position: relative;
cursor: pointer;
}
input[type="checkbox"].form-check-input+label:before {
content: '';
background: #fff;
border: 1px solid #808080;
border-radius: 3px;
height: 1.4rem;
width: 1.4rem;
position: absolute;
top: 0.5rem;
left: 0;
}
input[type="checkbox"].form-check-input+label:after {
content: '';
border-style: solid;
border-width: 0 0 2px 2px;
border-color: transparent transparent #673F9A #673F9A;
width: 1rem;
height: 0.5rem;
position: absolute;
top: 0.8rem;
left: 0.2rem;
opacity: 0;
transform: scale(2) rotate(-45deg);
}
input[type="checkbox"].form-check-input:checked+label:after {
opacity: 1;
transform: scale(1) rotate(-45deg);
color: #673F9A
}
.form-control {
display: block;
width: 100%;
line-height: 1.5;
height: 48px;
font-size: 14px;
color: #606060;
text-transform: none;
border: 2px solid #ededed;
border-radius: 5px;
background-color: #fff;
padding: 0 16px;
margin-bottom: 24px;
-webkit-appearance: none;
-moz-appearance: none;
-o-appearance: none;
appearance: none;
-webkit-transition: all 0.3s;
-o-transition: all 0.3s;
transition: all 0.3s;
}
input[type="text"].form-control:focus {
border: 2px solid #673F9A;
border-radius: 5px;
background-color: #fff;
padding: 0 16px;
margin-bottom: 24px;
-webkit-appearance: none;
-moz-appearance: none;
-o-appearance: none;
appearance: none;
-webkit-transition: all 0.3s;
...
JavaScript
var otherOption = $('input[type=text][placeholder=Иное]').attr('name');
$('.form-check-other > .form-check-input').after('<label class="form-check-label" for="var otherOption">');
$('.form-control').attr('onchange', 'document.getElementById(this.name).checked = this.value?true:false');