
:root {
    --red:#f68399;
    --purple:#ad81f9;
    --blue:#6dd5f2;
    --navy:#4d5cae;
}

html{
    overflow-y: scroll;
}

.about-strength__title-text{
    
    position: relative;
    overflow: hidden;
}

.--scrolled .header {
    opacity: 1;
    visibility: visible;
    box-shadow: 0px 0px 16px rgba(0, 0, 0, .1);
    background: #fff;
}

.header {
    box-shadow: 0px 0px 16px rgba(0, 0, 0, .1);
    background: #fff;
}

header.hide{
    opacity: 0 !important;
    pointer-events:none;
}

@media screen and (min-width:769px){
    body.fix{
        position:fixed;
        width:100%;
    }

    .about-strength__title{
        margin-bottom:300vh;
        max-width: none;
        width: 100%;
    }
    
    .about-strength__title h2 {
        margin-bottom: 0;
    }

    .about-strength__title p {
        padding-top: 10vw;
        padding-bottom: 10vw;
    }

    .about-strength__inner{
        width:100%;
        top:0;
        position:fixed;
    }



.about-strength__head-wrap{
    position:absolute;
    width:100%;
    height:100%;
    top:50%;left:50%;
    transform:translate(-50%,-50%);
    font-size: min(1.6vw, 20px);
}

.about-strength__head{
    position:absolute;
    width:100%;
    height:100%;
    opacity:1;
    margin:0;
    padding:0;
    transform: none;
}

.about-strength__head--inner{
    margin-left:10%;
    top: 50%;
    position: absolute;
    transform: translateY(-50%);
    font-size: 1.15vw;
}

@media screen and (max-width:1024px){
    .about-strength__head--inner{
        font-size:15.36px;
    }
}

.about-strength__head--lead{
    font-size: 1.25em;
    margin-bottom: 3.2em;
}

.about-strength__head .about-strength__head--lead::after {
    content: "1";
    width: 2.4em;
    height: 2.4em;
    background: #fff;
    color: #01168b;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    right: -3.5em;
    top: 0;
    bottom: 0;
    margin: auto;
}

.about-strength__head{
    opacity:0;
}

.strength__head2 .about-strength__head--lead::after {
    content: "2";
}

.strength__head3 .about-strength__head--lead::after {
    content: "3";
}

.about-strength__head h3 {
    margin-bottom: 2.5em;
}

.about-strength__head h3 .ja {
    font-size: 3.2em;
}

.about-strength__head h3 .en {
    font-size: 1.25em;
}

.about-strength__head--text {
    font-size: 1.35em;
}

.canvasframe2 {
    left: calc(53%);
    transform: translateX(-100%) translateY(-50%);
}


.about-strength__block{
    position:absolute;
    position: absolute;
    max-width: 100%;
    transition: opacity 0.3s ease-out;
} 

.about-strength__body {
    width: 100%;
    width: 35vw;
    position: relative;
    left:55%;
}

.about-strength__body p {
    font-size:  min(1.4vw, 16px);
    font-size:14px;
    line-height: 2;
}
}

@media screen and (min-width:1024px){
    .about-strength__body p {
        font-size:16px;
    }
}

@media screen and (min-width:1440px){
    .about-strength__body p {
        font-size:18px;
    }
}

@media screen and (min-width:1536px){
    .about-strength__body p {
        font-size:20px;
    }
}

@media screen and (min-width:1920px){
    .about-strength__body p {
    font-size:22px;
    }
}



@media screen and (min-aspect-ratio:4/2){


    .about-strength__head-wrap {
        font-size: min(2.8vh, 20px);
    }

}

.about-strength__position-wrap{
    padding-top:10.5em;
    padding-top:100px;
    position:relative;
    width:100%;
}

.about-strength__position{
   
}


.canvasarea{
    top:0;
    transform:none;
    top: 50%;
    transform: translateY(-50%);
    position: absolute;
}

.canvasframe {
    height:auto;
    top: 50%;
    transform: translateY(-50%);
    z-index:-1;
}

.canvasframe.scrollUp{
    position: absolute;
    top:0;
    transform:none;
   
}


.canvasarea2 {
    height :auto;
    transition: background-color 1s ease-out;
}

.canvasarea2.notransition{
    transition:none;
}

.canvasarea2 canvas{
    mix-blend-mode: multiply;
}

.canvasarea2.purple{
    background-color:var(--purple);
}

.canvasarea2.blue{
    background-color:var(--blue);
}

.canvasframe2{
    visibility:visible;
}

.canvasframe2-clip{
    transition:clip-path 1s ease-in-out;
    transition:clip-path 0.5s ease-in-out;

    clip-path: polygon(0 50%, 100% 50%, 100% 50%, 0 50%);
}

.canvasframe2-clip.show2{
    clip-path: polygon(0 0%, 100% 0%, 100% 100%, 0 100%);
}

.canvasframe2-clip.hide{
    clip-path: polygon(0 0%, 100% 0%, 100% 0%, 0 0%);
}


.about-strength__area{

}


@media screen and (min-width:769px){

    .about-strength__block{
        opacity:0;
        transition:opacity 1.5s ease-in-out;
        transition:opacity 0.75s ease-in-out;

    }


    .about-strength__head--lead{
        opacity:0;
        transition:opacity 1s ease-in-out 1.5s;
        transition:opacity 0.5s ease-in-out 0.75s;
    }

    .strength__head2 .about-strength__head--lead,
    .strength__head3 .about-strength__head--lead{
        transition-delay:0s;
    }



    .about-strength__head h3 .ja{
        opacity:0;
        transition:opacity 1s ease-in-out 1.75s;
        transition:opacity 0.5s ease-in-out 0.875s;
    }

    .strength__head2 h3 .ja,
    .strength__head3 h3 .ja{
        transition-delay:0.25s;
        transition-delay:0.125s;
    }



    .about-strength__head h3 .en{
        opacity:0;
        transition:opacity 1s ease-in-out 2.0s;
        transition:opacity 0.5s ease-in-out 1.0s;
    }

    .strength__head2 h3 .en,
    .strength__head3 h3 .en{
        transition-delay:0.5s;
        transition-delay:0.25s;
    }

    .about-strength__head--text{
        opacity:0;
        transition:opacity 1s ease-in-out 2.5s;
        transition:opacity 0.5s ease-in-out 1.25s;
    }

    .strength__head2 .about-strength__head--text,
    .strength__head3 .about-strength__head--text{
        transition-delay:1s;
        transition-delay:0.5s;
    }

    /*右の文字*/
    .about-strength__block.show2{
        opacity:1;
    }

    .about-strength__head.show2{
        opacity:1;
    }

    .about-strength__head.show2 .about-strength__head--lead,
    .about-strength__head.show2 h3 .ja,
    .about-strength__head.show2 .about-strength__head--text{
        opacity:1;
    }

    .about-strength__head.show2 h3 .en{
        opacity:0.5;
    }

    .about-strength__head.hide .about-strength__head--lead{
        opacity:0;
        transition-delay:0.5s;
        transition-delay:0.25s;
    }
    .about-strength__head.hide h3 .ja{
        opacity:0;
        transition-delay:0.4s;
        transition-delay:0.2s;
    }
    .about-strength__head.hide h3 .en{
        opacity:0;
        transition-delay:0.2s;
        transition-delay:0.1s;
    }
    .about-strength__head.hide .about-strength__head--text{
        opacity:0;
        transition-delay:0s;
    }
}

.canvasframe3{
    position: absolute;
    top: 0;
    width: 100%;
    z-index: -1;
}

.canvasframe3.fix{
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}



@media screen and (max-width:768px){

    .page-kv__inner{
        padding-top: 50lvh;
    }

    .canvasframe {

        margin-left: -24px;
        top:50svh;
    }
    .canvasarea{
        min-height: 22em;
    }

    .page-kv::before {
        background-size: cover;
        height: 150vw;
    }

    .about-strength__area .about-strength__head{
       
        background-color:gray;
    }

    .about-strength__head--inner{
        position:relative;
    }

    .about-strength__body p{
        font-size: 16px;
        line-height:2;
    }

    .about-strength__body span{
        display:block;
        font-size:0.5em;
    }

    .canvasframe3 .canvasarea{
        top: -6em;
        transform:none;
    }

    .about-strength__block:nth-child(1) .about-strength__head {
        background:var(--red);
    }

    .about-strength__block:nth-child(2) .about-strength__head {
        background:var(--purple);
    }

    .about-strength__block:nth-child(3) .about-strength__head {
        background:var(--blue);
    }

    .scroll-guide{
        display:none !important;
    }

    .about-strength__position{
        position:relative;
        z-index:1;
    }
    .about-strength__position-wrap{
        padding-top:200px;
    }

    
}


@media screen and (min-width:769px){

    /*以下、スクロール可能なように*/

    /*最初の挨拶*/
    .scrollStage2 .about-strength__title{
        margin-bottom: 14vw;
    }

    .scrollStage2 .about-strength__inner{
        position: relative;
        margin-bottom:15vw;
    }

    body.fix.scrollStage2{
        position: relative;
        top:0 !important;
    }

    .scrollStage2 .about-strength__area{
        height:auto !important;
    }

    .scrollStage2 .about-strength__block {
        position:relative;
        opacity:1;
        left: 0;
        width: 100%;
        max-width: 100vw;
        margin-bottom: 15vw;
        height: 50vw;

    }

    .scrollStage2 .about-strength__block.about-strength__block03{
        margin-bottom:0;
    }

    .scrollStage2 .about-strength__area .about-strength__head{
        left: 0;
        top: 0%;
        transform:none !important;
        position: relative;
        height: 50vw;
        width:50vw;
        opacity: 1;
    }

    .scrollStage2 .about-strength__head{
        background-color: #f68399;
    }
    
    .scrollStage2 .about-strength__head.strength__head2{
        background-color: var(--purple);
    }
    
    .scrollStage2 .about-strength__head.strength__head3{
        background-color: var(--blue);
    } 
    

    .scrollStage2 .about-strength__head--lead{
        opacity:1;
    }

    .scrollStage2 .about-strength__head h3 .ja,
    .scrollStage2 .about-strength__head h3 .en{
        opacity:1;
    }

    .scrollStage2 .about-strength__head h3 .en{
        opacity:0.5;
    }

    .scrollStage2 .about-strength__head--text{
        opacity:1;
    }

    .scrollStage2 .about-strength__body {
        width: 35vw;
        left: 55%;
        position: absolute;
    }

    .scrollStage2 .canvasframe2 {
        visibility:hidden;
    }

    .scrollStage2 .canvas4__area{
        visibility:visible;
    }



    /*縦いっぱいに改変*/

    .canvasframe2{
        height: 100%;
    }

    .canvasframe2{
        width:50%;
        max-width:50%;
        left:50%;
        height: 100%;
        aspect-ratio: auto;
    }
    
    .canvasarea2{
        height: 100%;
    }


    .canvasframe2-wrap {
        opacity:1;
    }


    .canvasframe3{
        height: 100lvh;
    }

    .canvasframe3 .canvasarea{ 
        top: 0;
        transform:none;
    }

    .about-strength__block{
        width: 100%;
    }

    .about-strength__head {
        transition:none;
    }

}


@media screen and (min-width:769px){
    .canvas4__area{
        visibility:hidden;
    }
}

.canvas4__area{
    position:absolute;
    width:100%;
    height:100%;
    top:0;
}

.canvas4__area canvas{
    width: 100% !important;
    height: 100% !important;
}

.scroll-guide{
    position:fixed;
    display:flex;
    flex-direction:column;
    right:2em;
    height:22em;
    top:50svh;
    transform:translateY(-50%);
    justify-content:space-between;
    z-index:1000;
    transition:opacity 0.6s ease-out;
    opacity:0;
    pointer-events:none;
}



.scroll-guide.show{
    opacity:1;
    pointer-events:auto;
}

.scroll-guide__arrow{
    width: calc(0.45em* 4.5);
    height: calc(0.45em* 4.5);
    position: relative;
    left: calc(-50% + 0.225em);
    border-radius: 50%;
    
}

.scroll-guide__arrow::before{
    content:"";
    width:100%;
    height:100%;
    position:absolute;
    background-color:#eef1f5;
    border:none;
    border-radius: 50%;
    left:0;
    top:0;
    z-index: -1;
}

.scroll-guide__arrow::after{
    content:"";
    width:100%;
    height:100%;
    position:absolute;
    background-color:#fff;
    border:solid #eef1f5 1px;
    border-radius: 50%;
    left:0;
    top:0;
    transition: transform 0.3s ease-in-out;
    transform: scale(0.0);
    z-index: -1;
}

.scroll-guide__arrow:hover::after{
    transform: scale(1);
}

.scroll-guide__dot{
    width:0.45em;
    height:0.45em;
    border-radius:50%;
    position:relative;
    background-color:var(--navy);
    filter: drop-shadow(0 0 0.5px #fff);
}

.scroll-guide__dot::before,
.scroll-guide__dot::after{
    content:"";
    width:600%;
    height:600%;
    position:absolute;
    background-color:var(--navy);
    opacity:0.2;
    left: calc(-300% + 0.225em);
    top: calc(-300% + 0.225em);
    border-radius:50%;
    transition:transform 0.3s ease-out;
    transform:scale(0.1);
}

.scroll-guide__dot::after{
    transform:scale(1);
    background-color:rgba(0,0,0,0);
}

.scroll-guide__dot:nth-child(3),
.scroll-guide__dot:nth-child(3)::before{
    background-color:var(--red);
}

.scroll-guide__dot:nth-child(4),
.scroll-guide__dot:nth-child(4)::before{
    background-color:var(--purple);
}

.scroll-guide__dot:nth-child(5),
.scroll-guide__dot:nth-child(5)::before{
    background-color:var(--blue);
}

@media(hover:hover){
    .scroll-guide__dot:hover::before{
        transform:none;
    }
}

.scroll-guide__dot.active::before,
.scroll-guide.unenabled .scroll-guide__dot.active::before{
    transform:none;
}

.scroll-guide.unenabled .scroll-guide__dot::before{
    transform:scale(0.1);
}
