@charset "UTF-8";


/*----fv(ファーストビュー)----*/
.out{
    position: relative;
}
.in img{
    position: absolute;
    top: 0;
    left: 0;
    opacity: 0;
    transition: .5s;
    z-index: 0;
}
.in{
    display: flex;
    justify-content: center;
}

.fv_btn_box {
  display: flex;
}

input{
    display: none;
}

label span{
    display: block;
    padding: 12px;
    border-radius: 100%;
    cursor: pointer;
    position: relative;
    z-index: 2;
    top: calc(50vw / 1.03);
}
label span::before{
    content: "";
    display: block;
    width: 12px;
    height: 12px;
    background: #C9C9C9;
    opacity: 1;
    border-radius: 100%;
    position: absolute;
}            
input:nth-of-type(1):checked ~ .in label:nth-of-type(1) span::before,
input:nth-of-type(2):checked ~ .in label:nth-of-type(2) span::before,
input:nth-of-type(3):checked ~ .in label:nth-of-type(3) span::before{
    background: #8CAA93;
    opacity: 1;
}
label span::before{
    animation-name: slidebutton;
	animation-iteration-count: infinite;
	animation-duration: 13.5s;
}
@keyframes slidebutton{
    0%{opacity: 0.5;background: #C9C9C9;}
    4.5%{opacity: 1;background: #8CAA93;}/* 100÷c=z */
    33.3%{opacity: 1;background: #8CAA93;}
    37.8%{opacity: 0.5;background: #C9C9C9;}
}         
label:nth-of-type(2) span::before,label:nth-of-type(2) img{
    animation-delay: 4.5s;
}            
label:nth-of-type(3) span::before,label:nth-of-type(3) img{
    animation-delay: 9s;
}                        
input:nth-of-type(1):checked ~ .in label:nth-of-type(1) img,
input:nth-of-type(2):checked ~ .in label:nth-of-type(2) img,
input:nth-of-type(3):checked ~ .in label:nth-of-type(3) img{
    opacity: 1;
    z-index: 1;
}
.in img{
	animation-name: slide;
	animation-iteration-count: infinite;
	animation-duration: 13.5s;
    opacity: 0;
}
@keyframes slide{
    0%{opacity: 0;}
    4.5%{opacity: 1;z-index: 1;}/* b÷x×100=y */
    33.3%{opacity: 1;}/* 100÷c=z */
    37.8%{opacity: 0;z-index: 0;}/* y+z */
}
input:checked ~ .in img,input:checked ~ .in span::before{
    animation: none;
}

@media screen and (max-width: 768px) {
label span{
    top: calc(50vw / 0.43);
}
}

