.art.flex_box_12:has(.cms_tm_box) { display: flex; }
.cms_tm_box { display: flex; flex-direction: column; width: 100%; background: var(--white); border-radius: var(--border-radius-default); box-shadow: var(--box-shadow-1); overflow: clip; transition: var(--transition); will-change: transform; }
.cms_tm_box:hover { transform: translateY(-15px); box-shadow: var(--box-shadow-3); }
.cms_tm_box_type_0 { padding: 0 30px 37px 30px; }
.cms_tm_box_type_1 { padding: 30px 30px 37px 30px; }
.cms_tm_box_type_2 { padding: 52px 30px 37px 30px; }
.cms_tm_box_type_0 .cms_tm_imgContainer { position: relative; width: calc(100% + 60px); margin: 0 -30px 29px -30px; }
.cms_tm_box_type_0 .cms_tm_imgBox { width: 100%; }
.cms_tm_box_type_0 .cms_tm_imgBox > picture { display: flex; width: 100%; padding: 0 0 58.63621916597982% 0; }
.cms_tm_box_type_0 .cms_tm_imgBox > picture > img { position: absolute; z-index: 1; inset: 0; width: 100%; height: 100%; object-position: center; object-fit: cover; }
.cms_tm_box_type_0 .cms_tm_imgLegend { display: none; }
.cms_tm_box_type_1 .cms_tm_imgContainer { position: relative; display: flex; width: 186px; height: 179px; margin: 0 auto 13px auto; }
.cms_tm_box_type_1 .cms_tm_imgBox { display: flex; width: 100%; }
.cms_tm_box_type_1 .cms_tm_imgBox > picture { display: flex; width: 100%; }
.cms_tm_box_type_1 .cms_tm_imgBox > picture > img { width: 100%; height: 100%; object-position: center; object-fit: contain; }
.cms_tm_box_type_1 .cms_tm_imgLegend { display: none; }
.cms_tm_text { width: 100%; flex: 1; }
.cms_tm_text > h3 { transition: var(--transition); }
.cms_tm_box:hover .cms_tm_text > h3 { color: var(--primary); }
.cms_tm_btn { display: flex; justify-content: center; width: 100%; padding: 52px 0 0 0; margin: 0 auto; }
@media screen and (max-width: 959px) {
    .cms_tm_box_type_0 { padding: 0 15px 30px 15px; }
    .cms_tm_box_type_1 { padding: 30px 15px; }
    .cms_tm_box_type_2 { padding: 30px 15px; }
    .cms_tm_box_type_0 .cms_tm_imgContainer { margin: 0 -30px 15px -30px; }
    .cms_tm_box_type_1 .cms_tm_imgContainer { margin: 0 auto 10px auto; }
    .cms_tm_btn { padding: 15px 0 0 0; }
}