Для вашей задачи достаточно будет использования свойств opacity и transition вместо visibility.
<div class="knopka">
<div class="kn">
<button onclick="showElement()">Показать больше</button>
</div>
<div class="kn1">
<button onclick="hideElement()">Скрыть</button>
</div>
<div class="container" id="imageContainer">
<div class="scr41">
<img src="/Untitled (5)/Group 10.png" alt="Image 1">
</div>
<div class="scr51">
<img src="/Untitled (5)/Group 11.png" alt="Image 2">
</div>
<div class="scr51">
<img src="/Untitled (5)/Group 12.png" alt="Image 3">
</div>
</div>
</div>
.knopka {
text-align: end;
}
.kn {
margin-top: -55px;
margin-right: 350px;
}
.kn button, .kn1 button {
color: #4E4E4E;
border-radius: 5px;
background-color: #F7F7F7;
font-size: 15px;
border: none;
width: 200px;
height: 40px;
}
.kn button:hover, .kn1 button:hover {
background-color: #ffa34857;
color: rgb(0, 0, 0);
transition: all 0.6s ease;
}
.container {
justify-content: center;
display: flex;
opacity: 0;
transition: opacity 1s ease-in-out;
pointer-events: none;
}
.container.show {
opacity: 1;
pointer-events: auto;
}
.scr41 img, .scr51 img {
margin-top: 70px;
width: 140px;
}
function showElement() {
const element = document.getElementById('imageContainer');
element.classList.add('show');
}
function hideElement() {
const element = document.getElementById('imageContainer');
element.classList.remove('show');
}