@charset "utf-8";
*, *::before, *::after{
    box-sizing: border-box;
}
.main img {
	vertical-align: bottom;
}
html, body {
    background-color: #fff !important;
    color: #333;
}
.relative{
    position: relative;
}
.main{
    width: 100%;
    max-width: 960px;
    margin: 0 auto;
    overflow:hidden;
}
.w-100{
    width: 100%;
}
.fv-area{
    position: relative; 
    width: 100%;
    aspect-ratio: 16 / 9;
}
.sec-fv{
    z-index: 1; 
    position: relative; 
    width: 100%;
}
img.sec-fv_bg{
    width: 100%;
}
.sec-fv .part-1{
    position: absolute;
    width: 38%;
    top: 17.5%;
    left: 60%; 
    display: inline-block;
    z-index: 5;
    opacity: 0;
}
.sec-fv .part-2{
    position: absolute;
    width: 38%;
    top: 38%;
    left: 39%; 
    display: inline-block;
    z-index: 5;
    opacity: 0;
}
.sec-fv .part-3{
    position: absolute;
    width: 38%;
    top: 58.8%;
    left: 60%; 
    display: inline-block;
    z-index: 5;
    opacity: 0;
}
.oncle_video{
    background-color: #ccc;
    text-align: center;
    padding: 30px 0;
  }
  .oncle_video video{
    width: 90%;
    filter: drop-shadow(0px 0px rgba(0,0,0,0));
    outline: none;
    border: none;
  }
.oncle_video-2 video{
    width: 100%;
}
.oncle_video-2 video {
    display: block;
}
  @media (max-width: 768px) {
    .oncle_video{
      padding: 10px 0;
    }
    .oncle_video video{
      width: 95%;
    }
}
.catch_copy img{
    position: absolute;
    top: 0%;
    right:5%;
    width: 10%;
    z-index: 3;
}
.package-top img{
    position: absolute;
    width: 100%;
    top: 83%;
    right:0%;
    z-index: 3;
}
.title-01{
    background-color: #fff;
    padding-top: 500px;
    padding-bottom: 500px;
    z-index: 2;
}
/*　上に上がる動き　*/

#header.UpMove{
	display: none;
}

/*　下に下がる動き　*/

#header.DownMove{
	display: block;
}

.about_onecle{
    z-index: 1; 
    position: relative; 
    background-color: #fff;
    width: 100%;
}
img.sec01_bg{
    width: 100%;
}
.about_onecle .set_01{
    position: absolute;
    width: 41%;
    top: 51%;
    left: 1%;
}
.about_onecle .set_02{
    position: absolute;
    width: 30%;
    top: 36%;
    left: 41%;
}
.about_onecle .set_03{
    position: absolute;
    width: 28%;
    top: 66%;
    left: 71%;
}
.about_onecle .set{
    position: absolute;
    top: 17.5%;
    left: 0;
    height: 23%;
    z-index: 10;
    width: 100%;
}

.about_onecle .package{
    position: absolute;
    top: 53.5%;
    left: 0; 
    width: 100%;
    opacity:0;
    display: inline-block
}
.about_onecle .text-01{
    position: absolute;
    top: 84.5%;
    left: 0; 
    width: 100%;
    /*opacity:0;*/
    display: inline-block
    
}

.sec-02{
    z-index: 1; 
    position: relative; 
    width: 100%;
}
img.sec02_bg{
    width: 100%;
}
.sec-02 .sec02-01{
    position: absolute;
    top: 23%;
    left: 0; 
    width: 100%;
    display: inline-block
}
.sec-02 .sec02-02{
    position: absolute;
    top: 36%;
    left: 0; 
    width: 100%;
    display: inline-block
}
.sec-02 .sec02-01{
    position: absolute;
    top: 23%;
    left: 0; 
    width: 100%;
    display: inline-block
}
.sec-02 .sec02-1-2{
    position: absolute;
    top: 16%;
    left: 0; 
    width: 100%;
    display: inline-block
}
.sec-02 .sec02-2-2{
    position: absolute;
    top: 23.7%;
    left: 0; 
    width: 100%;
    display: inline-block
}
.sec-02 .sec02-3-2{
    position: absolute;
    top: 31.3%;
    left: 0; 
    width: 100%;
    display: inline-block
}
.sec-02 .sec02-4-2{
    position: absolute;
    top: 39%;
    left: 0; 
    width: 100%;
    display: inline-block
}
.sec-02 .sec02-5-2{
    position: absolute;
    top: 46.6%;
    left: 0; 
    width: 100%;
    display: inline-block
}
.sec-02 .btn-01{
    position: absolute;
    top: 75%;
    left: 5%; 
    width: 90%;
    display: inline-block
}
.sec-02 .btn-01{
    animation: anime_btn-01 0.6s ease 0s infinite alternate;
    transform-origin:center;
}
@keyframes anime_btn-01 {
    from {
        transform: scale(0.95,0.95);
    }
    to {
        transform: scale(1,1);
    }
}

.sec-03{
    z-index: 1; 
    position: relative; 
    width: 100%;
}
img.sec03_bg{
    width: 100%;
}
.sec-03 .sec03-01{
    position: absolute;
    top: 23%;
    left: 0; 
    width: 100%;
    display: inline-block
}
.sec-03 .sec03-02{
    position: absolute;
    top: 36%;
    left: 0; 
    width: 100%;
    display: inline-block
}

.sec-03 .btn-01{
    position: absolute;
    top: 74%;
    left: 5%; 
    width: 90%;
    display: inline-block
}
.sec-03 .btn-01{
    animation: anime_btn-01 0.5s ease 0s infinite alternate;
    transform-origin:center;
}
.sec-04{
    z-index: 1; 
    position: relative; 
    width: 100%;
}
img.sec04_bg{
    width: 100%;
}
.sec-04 .circle_btn{
    position: absolute;
    width: 31%;
    top: 38%;
    left: 61%; 
    display: inline-block;
}
.sec-04 .circle_btn, .sec-05 .circle_btn{
    animation: anime_circle_btn 0.5s ease 0s infinite alternate;
    transform-origin:center;
}
@keyframes anime_circle_btn {
    from {
        transform: scale(0.95,0.95);
    }
    to {
        transform: scale(1,1);
    }
}
.sec-05{
    z-index: 1; 
    position: relative; 
    width: 100%;
}
img.sec05_bg{
    width: 100%;
}
.sec-05 .circle_btn{
    position: absolute;
    width: 31%;
    top: 38%;
    left: 61%; 
    display: inline-block;
}
.sec-06{
    z-index: 1; 
    position: relative; 
    width: 100%;
}
img.sec06_bg{
    width: 100%;
}
.sec-06 .point_01{
    position: absolute;
    width: 57.3%;
    top: 16%;
    left: 31.8%; 
    display: inline-block;
    z-index: 5;
    opacity: 0;
}
.sec-06 .point_02{
    position: absolute;
    width: 57.3%;
    top: 30%;
    right: 44%; 
    display: inline-block;
    z-index: 4;
    opacity: 0;
}
.sec-06 .point_03{
    position: absolute;
    width: 57.3%;
    top: 37.1%;
    left: 43%; 
    display: inline-block;
    z-index: 3;
    opacity: 0;
}
.sec-06 .sec-06_package{
    position: absolute;
    width: 45.8%;
    bottom: 0;
    right: 27%; 
    display: inline-block;
    z-index: 3; 

}
.fadeIn_R-L{
    animation: fadeIn_R-L 1s ease 0.2s 1 normal forwards;
  }
   
@keyframes fadeIn_R-L {
    from {
        opacity: 0;
        transform: translateX(70px);
    }
    to {
        opacity: 1;
        transform: translateX(0);
    }
}
.fadeIn_L-R{
    animation: fadeIn_L-R 1s ease 0.2s 1 normal forwards;
  }
   
@keyframes fadeIn_L-R {
    from {
        opacity: 0;
        transform: translateX(-70px);
    }
    to {
        opacity: 1;
        transform: translateX(0);
    }
}

.fadeIn_B-T{
    animation: fadeIn_B-T 2s ease 0s 1 normal forwards;
  }
   
@keyframes fadeIn_B-T {
    from {
        opacity: 0;
        transform: translateY(100px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}
.sec-07{
    z-index: 3; 
    position: relative; 
    width: 100%;
    aspect-ratio: 80 / 29;
}
img.sec-07-1{
    width: 100%;
    position: absolute;
    top: -15%;
    right: 0; 
    display: inline-block;
    z-index: 3; 
}
.sec-07 .border_01{
    z-index: 4; 
}
.border_anim-L-R{
    content: '';
    position: absolute;
    left: 5%;
    bottom: 27%;
    width: 0;
    border-bottom: solid 17px #39b34a;
    animation: border_anim-L-R 1s linear forwards;
}

@keyframes border_anim-L-R {
    0%{
        width: 0%;
    }
    100%{
        width: 90%;
    }
}

.border_anim-L-R-OR{
    content: '';
    position: absolute;
    left: 5%;
    bottom: 4%;
    width: 0;
    border-bottom: solid 43px #fdc672;
    animation: border_anim-L-R-OR 1s linear forwards;
    margin: 0;
}


@keyframes border_anim-L-R-OR {
    0%{
        width: 0%;
    }
    100%{
        width: 90%;
    }
}

@media (max-width: 768px) {
    .border_anim-L-R{
        border-bottom: solid 8px #39b34a;
    }
    .border_anim-L-R-OR{
        border-bottom: solid 20px #fdc672;
    }

}
@media (max-width: 576px) {
    .border_anim-L-R{
        border-bottom: solid 5px #39b34a;
    }
    .border_anim-L-R-OR{
        border-bottom: solid 17px #fdc672;
    }
}

.sec-08{
    z-index: 1; 
    position: relative; 
    width: 100%;
}
img.sec08-bg{
    width: 100%;
}

.sec-08 .sec08-01{
    position: absolute;
    width: 83.1%;
    top: 11%;
    left: 7.3%; 
    display: inline-block;
    z-index: 3;
    opacity: 0;
}
.sec-08 .sec08-02{
    position: absolute;
    width: 100%;
    top: 84.5%;
    left: 0; 
    display: inline-block;
    z-index: 3;
    /*opacity: 0;*/
}
.zoomIn-1{
	animation-name: zoomInAnime;
	animation-duration:0.5s;
	animation-fill-mode:forwards;
}

@keyframes zoomInAnime{
  from {
	transform: scale(0.6);
	opacity: 0;
  }

  to {
    transform: scale(1);
	opacity: 1;
  }
}
.kouso{
    z-index: 1; 
    position: relative; 
    width: 100%;
    aspect-ratio: 15 / 14.5;
}
.kouso img{
    position: absolute;
    top: -6.7%;
    right: 0; 
    display: inline-block;
    z-index: 1;    
}

.border_anim-L-R-OR-2{
    content: '';
    position: absolute;
    left: 3%;
    bottom: 6%;
    width: 0;
    border-bottom: solid 43px #fdc672;
    animation: border_anim-L-R-OR-2 1s linear forwards;
    margin: 0;
    z-index: 2;
}

@keyframes border_anim-L-R-OR-2 {
    0%{
        width: 0%;
    }
    100%{
        width: 95%;
    }
}

@media (max-width: 768px) {
    .border_anim-L-R-OR-2{
        border-bottom: solid 20px #fdc672;
    }
}
@media (max-width: 576px) {
    .border_anim-L-R-OR-2{
        border-bottom: solid 17px #fdc672;
    }
}

.sec-09{
    z-index: 1; 
    position: relative; 
    width: 100%;
}
img.sec09-bg{
    width: 100%;
}

.sec-09 .sec09-01{
    position: absolute;
    width: 100%;
    top: 11%;
    left: 0%; 
    z-index: 3;
}
.sec-09 .sec09-02{
    position: absolute;
    width: 100%;
    top:18.2%;
    left: 0; 
    z-index: 3;
    /*opacity: 0;*/
}
.sec-09 .sec09-01 img{
    position: relative;
    z-index: 5;
    width: 100%;
}
.sec-09 .sec09-02 .sec09-02-01{
    position: relative;
    z-index: 5;
    width: 94.6%;
    left: 2.4%;
    opacity: 0;
}
.border_anim-L-R-RED{
    content: '';
    position: absolute;
    left: 26%;
    bottom: 51%;
    width: 0;
    border-bottom: solid 43px #ea636c;
    animation: border_anim-L-R-RED 1s linear forwards;
    margin: 0;
    z-index: 2;
}

@keyframes border_anim-L-R-RED {
    0%{
        width: 0%;
    }
    100%{
        width: 50%;
    }
}
.border_anim-L-R-RED-2{
    content: '';
    position: absolute;
    left: 15%;
    bottom: -3%;
    width: 0;
    border-bottom: solid 43px #ea636c;
    animation: border_anim-L-R-RED-2 1s linear forwards;
    margin: 0;
    z-index: 2;
}

@keyframes border_anim-L-R-RED-2 {
    0%{
        width: 0%;
    }
    100%{
        width: 70%;
    }
}

@media (max-width: 768px) {
    .border_anim-L-R-RED, .border_anim-L-R-RED-2 {
        border-bottom: solid 20px #ea636c;
    }
}
@media (max-width: 576px) {
    .border_anim-L-R-RED, .border_anim-L-R-RED-2 {
        border-bottom: solid 17px #ea636c;
    }
}