.component--carousel{--carousel_gap:30px;--carousel_border-color:transparent;--carousel_bg_color:transparent;border:none;margin:25px 0}.carousel_container{margin:0 calc(50% - 50vw);overflow:hidden;width:100vw}.carousel_track{animation-iteration-count:infinite;animation-name:carousel_animation;animation-timing-function:linear;display:flex;width:max-content}.component--carousel.has--size-reverse .carousel_track{animation-direction:reverse}.carousel_list{display:flex;gap:var(--carousel_gap)}.carousel_list_item{align-items:center;background-color:var(--carousel_bg_color);display:flex;justify-content:center}.component--carousel.has--border-type-solid .carousel_list_item{border:1px solid var(--theme_color_border)}.component--carousel.has--border-type-dot .carousel_list_item{border:1px dot var(--theme_color_border)}.component--carousel.has--bg-color .carousel_list_item,.component--carousel.has--border-type-dot .carousel_list_item,.component--carousel.has--border-type-solid .carousel_list_item{padding:15px}.component--carousel.has--border-type-dot .carousel_list_item,.component--carousel.has--border-type-solid .carousel_list_item{border-color:var(--carousel_border-color)}.carousel_image{object-fit:contain}.component--carousel:not(:is(.has--size-flexible)) .carousel_list_item{aspect-ratio:var(--carousel_size_aspect);width:var(--carousel_size_pc)}@media screen and (max-width:1050px){.component--carousel:not(:is(.has--size-flexible)) .carousel_list_item{width:var(--carousel_size_tb)}}@media screen and (max-width:768px){.component--carousel:not(:is(.has--size-flexible)) .carousel_list_item{width:var(--carousel_size_sp)}}@keyframes carousel_animation{0%{transform:translateX(0)}to{transform:translateX(calc((100% + var(--carousel_gap))/3*-1))}}