@charset "utf-8";



/*  Foundation
*/

.infinite-loop {
    position: relative;
    width: 100%;
}



/*  Modules  scroll view
*/

.infinite-loop-scroll-view {
    transition: transform 0.5s;
    display: flex;
    flex-wrap: nowrap;
}

.infinite-loop-item {
    flex-shrink: 0;
}

.inlo-align-center .infinite-loop-item {
    text-align: center;
}



/*  Modules  navigation view
*/

.infinite-loop .infinite-loop-navigation-prev,
.infinite-loop .infinite-loop-navigation-next {
    position: absolute;
    top: 0;
    left: auto;
    right: auto;
    bottom: 0;
    margin: auto;
    padding: 0;

    width: 2rem;
    height: 2rem;
    border-radius: 50%;
    line-height: 2rem;
    text-align: center;

    display: flex;
    justify-content: center;
    align-items: center;

    background-color: #fff;
    color: #333;
    font-size: 1.2rem;
}

.infinite-loop .infinite-loop-navigation-prev {
    left: 3.2%;
}

.infinite-loop .infinite-loop-navigation-next {
    right: 3.2%;
}

.infinite-loop .infinite-loop-navigation-prev .infinite-loop-navigation-button,
.infinite-loop .infinite-loop-navigation-next .infinite-loop-navigation-button {
    background-color: transparent;
    border: none;
    padding: 0;

    display: flex;
    justify-content: center;
    align-items: center;
}

.infinite-loop .infinite-loop-navigation-prev .infinite-loop-navigation-button::before {
    content: "\f053";
    font-family: "ForkAwesome";
    /* font-family: "Font Awesome 5 Free"; */
    /* font-family: "Font Awesome 6 Free"; */
    font-weight: 900;
    font-size: 1.1rem;
}

.infinite-loop .infinite-loop-navigation-next .infinite-loop-navigation-button::before {
    content: "\f054";
    font-family: "ForkAwesome";
    /* font-family: "Font Awesome 5 Free"; */
    /* font-family: "Font Awesome 6 Free"; */
    font-weight: 900;
    font-size: 1.1rem;
}




/* inlo-thumbnails
*/
.infinite-loop .infinite-loop-thumbnails {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 1vw;
    margin: 1rem auto;
}

.infinite-loop-thumbnails .infinite-loop-thumbnails-item {
    max-width: 10vw;
    cursor: pointer;
}



/* inlo-type
*/
.infinite-loop-navigation-position {
    overflow: hidden;
}

.infinite-loop-navigation-position .infinite-loop-navigation-position-item:not(.active) {
    cursor: pointer;
}



/* inlo-type-circle
*/
.inlo-type-circle .infinite-loop-navigation-position {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 1vw;
}

.inlo-type-circle .infinite-loop-navigation-position .infinite-loop-navigation-position-item {
    width: 16px;
    height: 16px;
    border-radius: 50%;
    background-color: #333;
    border: 1px #fff solid;
    transition: all var(--cp--transition-main);
}

.inlo-type-circle .infinite-loop-navigation-position .infinite-loop-navigation-position-item.active {
    background-color: #fff;
    border: 1px #333 solid;
    transition: all var(--cp--transition-main);
}



/* inlo-type-bar
*/
.inlo-type-bar .infinite-loop-navigation-position .infinite-loop-navigation-position-item {
    width: 10%;
}

.inlo-type-bar .infinite-loop-navigation-num-1 .infinite-loop-navigation-position-item {
    width: 100%;
}

.inlo-type-bar .infinite-loop-navigation-num-2 .infinite-loop-navigation-position-item {
    width: 50%;
}

.inlo-type-bar .infinite-loop-navigation-num-3 .infinite-loop-navigation-position-item {
    width: 33.334%;
}

.inlo-type-bar .infinite-loop-navigation-num-4 .infinite-loop-navigation-position-item {
    width: 25%;
}

.inlo-type-bar .infinite-loop-navigation-num-5 .infinite-loop-navigation-position-item {
    width: 20%;
}

.inlo-type-bar .infinite-loop-navigation-num-6 .infinite-loop-navigation-position-item {
    width: 16.667%;
}

.inlo-type-bar .infinite-loop-navigation-num-7 .infinite-loop-navigation-position-item {
    width: 14.2857%;
}

.inlo-type-bar .infinite-loop-navigation-num-8 .infinite-loop-navigation-position-item {
    width: 12.5%;
}

.inlo-type-bar .infinite-loop-navigation-num-9 .infinite-loop-navigation-position-item {
    width: 11.111%;
}




.infinite-loop-navigation-num-4.infinite-loop-navipos-0 .infinite-loop-navigation-position-item.active {
    margin-left: 0;
    transition: all var(--cp--transition-main);
}

.infinite-loop-navigation-num-4.infinite-loop-navipos-1 .infinite-loop-navigation-position-item.active {
    margin-left: 25%;
    transition: all var(--cp--transition-main);
}

.infinite-loop-navigation-num-4.infinite-loop-navipos-2 .infinite-loop-navigation-position-item.active {
    margin-left: 50%;
    transition: all var(--cp--transition-main);
}

.infinite-loop-navigation-num-4.infinite-loop-navipos-3 .infinite-loop-navigation-position-item.active {
    margin-left: 75%;
    transition: all var(--cp--transition-main);
}

.infinite-loop-navigation-num-4.infinite-loop-navipos-4 .infinite-loop-navigation-position-item.active {
    margin-left: 100%;
    transition: all var(--cp--transition-main);
}




/*  Utilities
 *
 *  .transition-disable はJS側の描画計算に必須なので絶対に削除しないこと
*/

.transition-disable {
    transition: none;
}
