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

.items-wrap {
    justify-content: space-between;
    align-items: stretch;
    gap:2em 1em;
}
.item {
    flex:1 1 0px;
    display: flex;
    flex-wrap: wrap;
    flex-direction: column;
    container-type: inline-size;
}
.item a.button {
    background:white;
    color:var(--tert-color);
    margin-top:auto;
    margin-bottom:1em;
}
.item-img {
    display: block;
    width:300px;
    max-width:80cqw;
    aspect-ratio:1/1;
    height:auto;
    object-fit: cover;
    object-position: center;
    margin:0 auto max(-150px, -40cqw) auto;
    position: relative;
    z-index: 5;
    border:6px solid var(--tint-color);
    border-radius: 300px;
}
.item-content {
    flex:1 1 0px;
    display: flex;
    flex-wrap: nowrap;
    flex-direction: column;
    align-items: center;
    border-radius: 8px;
    background-color:var(--tert-color);
    color:white;
    padding:min(160px, 45cqw) 1.5em 1em 1.5em;
    text-align: center;
}
@media screen and (max-width:768px) {
    .item {
        width:100%;
        flex:auto;
    }
}
.item-content h3 {
    color:white;
}
.slider .slick-track {
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
}
.slider .item {
    width:100%;
    height:auto;
    display: flex;
}
.slider .item-img {
    width:200px;
    margin-bottom:-60px;
    border-width: 4px;
}
.slider .item-content {
    padding:120px 10% 4em 10%;
}

ul.slick-dots {
    list-style: none;
    display: flex;
    flex-wrap: wrap;
    width:100%;
    justify-content: center;
    padding:0;
    margin:0;
    position: relative;
    z-index: 10;
    transform:translateY(-40px);
}
ul.slick-dots li {
    display: inline-block;
    padding:5px;
    cursor: pointer;
    margin:0;
}
ul.slick-dots li::before {
    content:'';
    display: block;
    width:10px;
    height:10px;
    border-radius: 100px;
    background:white;
    cursor: pointer;
    opacity: .5;
}
ul.slick-dots li button {
    display: none;
}
ul.slick-dots li.slick-active::before {
    opacity: 1;
}

.logo-slider {
    margin-top:16px;
    margin-bottom:32px;
    background-color:white;
    border-radius: 16px;
}
.logo-slider .slick-slide img {
    display: block;
    width:80%;
    margin:0 auto;
}

.icon {
    text-align: center;
    margin-bottom:16px;
}
.icon img {
    display: block;
    width:120px;
    aspect-ratio:12/16;
    object-fit: contain;
    object-position: center;
    max-width: 100%;
    margin:0 auto;
}
.icon span {
    display: block;
    font-size:.9rem;
    line-height: 1.2em;
    margin-top:8px;
}



.gallery {
    gap:1em;
}
.gallery > div {
    width:calc(50% - .5em);
}
.gallery img {
    display: block;
    aspect-ratio:1/1;
    width:100%;
    object-fit: cover;
    object-position: center;
}
@media screen and (max-width:430px) {
    .gallery > div {
        width:100%;
    }
}

footer .container {
    background-color: white;
    padding:2em;
    border-radius: 32px;
}

