@charset "utf-8";
/*ギャラリー*/

.modebox{
    max-width: 120px;
    max-height: 60px;
    width: calc(6vw + 100px);
    height: calc(3vw + 50px);
    background-color: rgb(255, 255, 255);
    border-radius: 10rem;
    position:fixed;
    bottom: 15px;
    left: 10px;
    z-index: 50000;
    cursor: pointer;
    border: rgb(81, 81, 81) solid 3px;
    display: flex;
    justify-content: center;
    align-items: center;
}

.modetext{
    font-size: 16px;
}


/*クイズページ*/
.quizradio{
    display: none;
}

.amount-box{
    width: 40vw;
    max-width: 200px;
    text-align: center;
    margin: 0 auto;
    border: solid 2px;
    padding-top: 5px;
    padding-bottom: 5px;
}

.amount-box-box{
    text-align: center;
}

.questionmake-box{
    text-decoration: none;
    cursor: pointer;
    content: 'fontsystem';
    text-align: center;
    background-color: rgb(226, 244, 255);
    width: 60vw;
    max-width: 300px;
    margin: 0 auto;
    padding-top: 20px;
    padding-bottom: 20px;
    border-radius: 10px;
    display: block;
    margin-top: 10px;
    color: #000000;
}

.questionmake-box:hover{
    animation: questionmake-box-animation 0.5s;
    animation-fill-mode: forwards;
}

@keyframes questionmake-box-animation{
    0%{
        color: #000000;
        background-color: rgb(226, 244, 255);
    }
    100%{
        color: #ffffff;
        background-color: hsl(218, 76%, 62%);
    }
}

.message-text{
    font-size: clamp(10px,4vw,23px);
    color: blue;
}

.question-box{
    font-weight: bold;
    padding-top: 20px;
    padding-bottom: 10px;
    font-size: clamp(18px,4vw,23px);
    padding-left: 40px;
    margin-right: 40px;
    color: #1f65d6;
}

.quiz-syuu{
    content: "fontsystem";
    color: #383838;
    font-weight: lighter;
    padding-left: 20px;
    padding-right: 20px;
    margin: auto 2.1%;
    display: block;
    bottom: 10px;
    position: relative;
  }

.datalink{
    text-decoration: none;
    color: #ffffff;
    width: 100%;
    display: block;
}

.eachdata{
    font-weight: bold;
    position: absolute;
    font-size: clamp(150px,40vw,250px);
    line-height: 0;
    opacity: 0.7;
    left: 50%;
    top: clamp(0px,calc(10vw + 20px),75px);
    transform: translateX(-50%);
}

.question-sentence{
    color: #000000;
    content: 'fontsystem'; 
}

.seikai{
    font-weight: bold;
    background: linear-gradient(to top, rgb(255, 255, 136) 60%, transparent 60%);
}

.kaisetu{
    padding-left: 10px;
}

.kanren-box{
    text-align: right;
    margin-right: 30px;
}

.quiz-button{
    font-size: clamp(10px,4vw,18px);
    background-color: rgba(92, 154, 255, 0.2);
    margin: 0 auto;
    margin-top: 5px;
    margin-bottom: 5px;
    width: 60vw;
    max-width: 400px;
    text-align: center;
}

[value="trigger1"]:checked ~ .label-mark .quiz-button1{
    color: #ffffff;
    background-color: rgba(92, 154, 255, 0.6);
}
[value="trigger2"]:checked ~ .label-mark .quiz-button2{
    color: #ffffff;
    background-color: rgba(92, 154, 255, 0.6);
}
[value="trigger3"]:checked ~ .label-mark .quiz-button3{
    color: #ffffff;
    background-color: rgba(92, 154, 255, 0.6);
}
[value="trigger4"]:checked ~ .label-mark .quiz-button4{
    color: #ffffff;
    background-color: rgba(92, 154, 255, 0.6);
}

.table-title-box{
    font-size: clamp(10px,4vw,23px);
    text-align: center;
    color: #1f65d6;
    font-weight: bold;
}

.table-title-box p{
    margin-bottom: 3px;
}

.message-box{
    text-align: center;
}

/*トップのトップ*/
.rotatesystem{
    height: 50vw;
    width: 50vw;
    transform: translate(50vw,calc((100vh - 87px - 50vw) / 2));
    transform: translate(50vw,calc((100svh - 87px - 50vw) / 2));
    position: relative;
}

.rotatelefttop{
    height: 40%;
    width: 40%;
    top: 0%;
    left: 0%;
    position: absolute;
    z-index: 100;
    cursor: pointer;
}
.rotatelefttop:hover ~.faviconbox{
    transition: 1s;
    transform: rotate3d(-0.5,1,0,-40deg); 
}

.rotatetop{
    height: 40%;
    width: 20%;
    top: 0%;
    left: 40%;
    position: absolute;
    z-index: 100;
    cursor: pointer;
}
.rotatetop:hover ~.faviconbox{
    transition: 1s;
    transform: rotate3d(-1,0,0,-40deg); 
}

.rotaterighttop{
    height: 40%;
    width: 40%;
    top: 0%;
    left: 60%;
    position: absolute;
    z-index: 100;
    cursor: pointer;
}
.rotaterighttop:hover ~.faviconbox{
    transition: 1s;
    transform: rotate3d(-0.5,-1,0,-40deg); 
}

.rotateright{
    height: 20%;
    width: 40%;
    top: 40%;
    left: 60%;
    position: absolute;
    z-index: 100;
    cursor: pointer;
}
.rotateright:hover ~.faviconbox{
    transition: 1s;
    transform: rotate3d(0,-1,0,-40deg); 
}

.rotaterightbottom{
    height: 40%;
    width: 40%;
    top: 60%;
    left: 60%;
    position: absolute;
    z-index: 100;
    cursor: pointer;
}
.rotaterightbottom:hover ~.faviconbox{
    transition: 1s;
    transform: rotate3d(1,-1,0,-40deg); 
}

.rotatebottom{
    height: 40%;
    width: 20%;
    top: 60%;
    left: 40%;
    position: absolute;
    z-index: 100;
    cursor: pointer;
}
.rotatebottom:hover ~.faviconbox{
    transition: 1s;
    transform: rotate3d(0.5,0,0,-40deg);
}

.rotateleftbottom{
    height: 40%;
    width: 40%;
    top: 60%;
    left: 0%;
    position: absolute;
    z-index: 100;
    cursor: pointer;
}
.rotateleftbottom:hover ~.faviconbox{
    transition: 1s;
    transform: rotate3d(1,1,0,-40deg); 
}

.rotateleft{
    height: 20%;
    width: 40%;
    top: 40%;
    left: 0%;
    position: absolute;
    z-index: 100;
    cursor: pointer;
}
.rotateleft:hover ~.faviconbox{
    transition: 1s;
    transform: rotate3d(0,1,0,-40deg); 
}

      .faviconbox {
        height: 20vw;
        transform-style: preserve-3d;
        position: absolute;
        top: 15vw;
        left:15vw;
        transform: rotate3d(-1,-1,0,20deg);
        transition: 1s; 
        }
        

        .faviconsubbox {
        margin: 0 auto;
        width: 20vw;
        transform-style: preserve-3d;
        }
        
        .faviconsubbox div{
          background-color: rgba(255, 255, 255, 0.65);
          box-shadow:
          inset 0 -2vw 2vw rgba(0,0,0,0.2),
                0.2vw 0.2vw 0.6vw rgba(0,0,0,0.3);
        }
             
        .xy1, .xy2, .xy3, .xy4, .xy5, .xy6, .xz1, .xz2, .xz3, .xz4, .xz5, .yz1, .yz2, .yz3, .yz4, .yz5, .yz6 {
        box-sizing: border-box;
        position: absolute;
        }
        
        .xy1 {
        width: 20vw;
        height: 20vw;
        clip-path: polygon(100% 100%, 100% 0%, 80% 0%, 80% 80%, 20% 80%, 20% 0%, 0% 0%, 0% 100%);
        transform: rotateX(90deg) translateZ(10vw);
        }
        
        .xy2 {
        width: 20vw;
        height: 20vw;
        clip-path: polygon(0% 100%, 0% 0%, 20% 0%, 20% 80%, 80% 80%, 80% 0%, 100% 0%, 100% 100%);
        transform: rotateX(90deg) translateZ(6vw);
        }
        
        .xy3 {
        width: 20vw;
        height: 20vw;
        clip-path: polygon(0% 100%, 0% 80%, 80% 80%, 80% 100%);
        transform: rotateX(90deg) translateZ(1vw);
        }
        
        .xy4 {
        width: 20vw;
        height: 20vw;
        clip-path: polygon(0% 100%, 0% 80%, 80% 80%, 80% 100%);
        transform: rotateX(90deg) translateZ(-3vw);
        }
        
        .xy5 {
        width: 20vw;
        height: 20vw;
        clip-path: polygon(0% 100%, 0% 80%, 20% 80%, 20% 100%);
        transform: rotateX(90deg) translateZ(-10vw);
        }
        
        .xy6 {
        width: 20vw;
        height: 20vw;
        clip-path: polygon(100% 40%, 100% 60%, 80% 60%, 80% 40%);
        transform: rotateX(90deg) translateZ(-10vw);
        }
        
        .xz1 {
        width: 20vw;
        height: 20vw;
        clip-path: polygon(0% 0%, 0% 20%, 40% 20%, 40% 100%, 60% 100%, 60% 20%, 60% 20%, 100% 20%, 100% 0%);
        transform: rotateY(90deg) translateZ(6vw);
        }
        
        .xz2 {
        width: 20vw;
        height: 20vw;
        clip-path: polygon(100% 0%, 100% 20%, 60% 20%, 60% 100%, 40% 100%, 40% 20%, 40% 20%, 0% 20%, 0% 0%);
        transform: rotateY(90deg) translateZ(10vw);
        }
        
        .xz3 {
        width: 20vw;
        height: 20vw;
        clip-path: polygon(0% 65%, 20% 65%, 20% 45%, 0% 45%);
        transform: rotateY(90deg) translateZ(6vw);
        }
        
        .xz4 {
        width: 20vw;
        height: 20vw;
        clip-path: polygon(0% 100%, 20% 100%, 20% 20%, 100% 20%, 100% 0%, 20% 0%, 0% 0%);
        transform: rotateY(90deg) translateZ(-6vw);
        }
        
        .xz5 {
        width: 20vw;
        height: 20vw;
        clip-path: polygon(0% 100%, 20% 100%, 20% 20%, 100% 20%, 100% 0%, 20% 0%, 0% 0%);
        transform: rotateY(90deg) translateZ(-10vw);
        }
        
        .yz1 {
        width: 20vw;
        height: 20vw;
        clip-path: polygon(100% 0%, 100% 20%, 20% 20%, 20% 45%, 80% 45%, 80% 65%, 20% 65%, 20% 100%, 0% 100%, 0% 0%);
        transform: translateZ(10vw);
        }
        
        .yz2 {
        width: 20vw;
        height: 20vw;
        clip-path: polygon(0% 0%, 0% 20%, 80% 20%, 80% 45%, 20% 45%, 20% 65%, 80% 65%, 80% 100%, 100% 100%, 100% 0%);
        transform: rotateY(180deg) translateZ(-6vw);
        }
        
        .yz3 {
        width: 20vw;
        height: 20vw;
        clip-path: polygon(0% 0%, 0% 100%, 20% 100%, 20% 0%);
        transform: rotateY(180deg) translateZ(-2vw);
        }
        
        .yz4 {
        width: 20vw;
        height: 20vw;
        clip-path: polygon(0% 0%, 0% 100%, 20% 100%, 20% 0%);
        transform: rotateY(180deg) translateZ(2vw);
        }
        
        .yz5 {
        width: 20vw;
        height: 20vw;
        clip-path: polygon(0% 0%, 0% 20%, 20% 20%, 20% 0%);
        transform: rotateY(180deg) translateZ(10vw);
        }
        
        .yz6 {
        width: 20vw;
        height: 20vw;
        clip-path: polygon(100% 0%, 100% 20%, 80% 20%, 80% 0%);
        transform: rotateY(180deg) translateZ(10vw);
        }

/*実際に使おう！トップ*/
.start3dlife-step-title-box{
    color:#000000;
    border: solid #000000;
    border-width: 1px;
    padding:2px;
    width: 25%;
    max-width: 100px;
    position: relative;
    background-color: rgb(255, 255, 255,0.9); 
}

.start3dlife-step-title-box::after{
    content: "";
    display: block;
    padding-top: 100%;
}

.start3dlife-step-title{
    position: absolute;
    text-align:center;
    width: 98%;
    font-size:clamp(7px,3.5vw,15px);
}

.start3dlife-step-img-box{
    text-align: center;
    cursor: pointer;
}

.start3dlife-step-img{
    width:90%;
    margin-top:clamp(-60px,-15vw,-40px);
    z-index: -100;
    object-fit: cover;
    height:50vmin;
}

.start3dlife-step-box{
    display: grid;
	grid-template-columns: repeat(auto-fit, minmax(calc(50px + 43%), 1fr));
}

.start3dlife-step-right-part{
    padding-left:2%;
    padding-right:2%;
    text-align:center;
}

.start3dlife-button-box{
    text-align: center;
    margin:2%;
    background-color:#acacac;
    width:50%;
    max-width:200px;
    margin-left:auto;
    margin-right:auto;
    position: relative;
    color:#333333;
    margin-bottom:10%;
}

.start3dlife-button-box:hover{
    animation:start3dlife-button-box-animation 0.5s;
    animation-fill-mode:forwards;
}

.start3dlife-button{
    font-size:clamp(13px,4.5vw,20px);
    margin:2px;
}

@keyframes start3dlife-button-box-animation{
    0%{
        
    }
    100%{
        background-color:#585858;
        color:#ffffff;
    }
}

@media screen and (min-width: 747px){
    .start3dlife-step-right-part{
        padding-top:calc(2% + 40px);
    }
}

.flow-arrow{
    width: 20%;
    max-width: 75px;
    display:block;
    margin:auto;
    margin-top:15px;
    margin-bottom:15px;
}

/*実際に使おう！各ステップ*/
.each-start3dlife-top-title-box{
    position: absolute;
    z-index: 200;
    border: solid;
    border-width: 0.5vmin;
    border-image: linear-gradient(30deg,rgba(115, 248, 224, 1), rgba(150, 167, 241, 1));
    border-image-slice: 1;
    height: clamp(100px,30vw,160px);
    width: clamp(100px,30vw,160px);
    top: calc(50% - (clamp(100px,30vw,160px) / 2) - 0.25vw);
    left: calc(50% - (clamp(100px,30vw,160px) / 2) - 0.25vw);
    text-align: center;
    background-color: rgba(0,0,0,0.4);
    display: flex;
    justify-content: center;
    align-items: center;
    animation: each-start3dlife-top-title-box-animation 2s;
    animation-fill-mode: forwards;
}

@keyframes each-start3dlife-top-title-box-animation{
    0%{
        opacity: 1;
        width: clamp(100px,30vw,160px);
        left: calc(50% - (clamp(100px,30vw,160px) / 2));
    }
    100%{
        opacity: 1;
        left: -0.5vw;
        width: calc(100% + 1vw);
    }
}

.each-start3dlife-top-title-step{
    font-size: clamp(15px,5vw,20px);
    margin-left: 2px;
    margin-right: 2px;
    font-weight: bold;
    color: rgba(255,255,255,0.8);
}

.each-start3dlife-top-title-text{
    font-size: clamp(12px,4vw,20px);
    margin-left: 2px;
    margin-right: 2px;
    color: rgba(255,255,255,0.8);
}

