body {
    background-color: #eee;
}

header {
    max-width: 768px;
    margin: 0 auto;
    background-color: #fff;
}

.header-title {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin: 0 4%;
    padding: 2% 0;
}

.header-title .title {
    color: #4CC764;
    font-weight: bold;
    font-size: 25px;
}

.header-title .diagnosis {
    color: #fff;
    font-size: 25px;
    font-weight: 600;
    background-color:#4CC764;
    border-radius: 10px;
    padding: 10px;
    text-align: center;
}

.header-title .diagnosis span {
    font-size: 20px;
}

.main-contents {
    max-width: 768px;
    margin: 0 auto;
}

.fortune-telling-text {
    background-image: url(../images/Uranai_main.png);
    background-size: cover;
    background-repeat: no-repeat;
    background-color: #fff;
    width: 100%;
    height: 930px;
    position: relative;
}

.fortune-telling-text .bi {
    position: absolute;
    top: 30%;
    left: 18%;
    width: 28%;
}

.diagnosis1 {
    font-size: 40px;
    margin-bottom: 5px;
}

.diagnosis2 {
    font-size: 25px;
}

.fortune-telling-guide {
    background-color: #0a1e43;
    text-align: center;
    padding-bottom: 15px;
}

.fortune-telling-guide .message{
    font-size: 45px;
    color: rgb(244, 213, 39);
    /* line-height: 2; */
    letter-spacing: 5px;
}

.fortune-telling-guide .message span {
    font-size: 60px;
    color: rgb(249, 113, 113);
}
.fortune-telling-guide .diagnosis {
    display: block;
    padding: 10px 0;
    margin: 0 auto;
} 

.diagnosis_btn {
    color: #fff;
    background-color: #4CC764;
    border-radius: 10px;
    margin:40px auto;
    width: 60%;
    box-shadow: 0 7px 0 #298c75;
}

.step-main {
    background-color: #fff;
    font-family: "Mochiy Pop One", sans-serif;
}

.step-contain {
    margin: 0 auto;
    padding-top: 5%;
} 

.step-box {
    color: #fff;
    background-color: indianred;
    border-radius: 5px;
    margin: 0 auto;
    padding: 15px 0;
    width: 80%;
    text-align: center;
    line-height: 1.5;
}

.step-contain .text1 {
    font-size: 35px;
}

.step-contain .text2 {
    font-size: 50px;
}

.step-contain .text2 span {
    color: #f083ad;
}

.step {
    color: indianred;
    border-radius: 4px;
    border: 5px #f0a6a6;
    border-style: double;
    margin: 30px auto;
    padding: 30px 0;
    width: 70%;
    text-align: left;
    font-size: 35px;
}

.step-text3 {
    color: indianred;
    font-size: 40px;
    text-align: center;
    line-height: 1.6;
    letter-spacing: 5px;
    padding-bottom: 50px;
}

.contain {
    background-color: #f0a6a6;
    padding: 30px 0;
    padding-left: 12%;
}

.contain-img {
    width: 30%;
}

.contain-title {
    border-radius: 10px;
}

.contain h3 {
    font-size: 60px;
    color: #fff;
    font-weight: bold;
}

.contain p {
    font-size: 35px;
    color: #fff;
    letter-spacing: 5px;
    line-height: 1.8;
}

.contain-text {
    background-color: #fff;
    text-align: center;
    padding-bottom: 10px;
}

.contain-text .text1-2 {
    background-color: #0a1e43;
}

.contain-text .text1 {
    color: rgb(187, 174, 98);
    font-size: 40px;
    font-weight: 600;
    line-height: 1.5;
    letter-spacing: 6px;
    padding: 25px 0;
    font-family: "Noto Serif JP", serif;
}


.contain-text .text2 {
    color: #fff;
}

.contain-text .text3 {
    padding: 30px 0 10px 0;
    color: indianred;
    font-size: 40px;
    line-height: 1.5;
    letter-spacing: 5px;
    font-family: "Mochiy Pop One", sans-serif;
}

.contain-text .diagnosis {
    display: block;
    padding: 10px 0;
}

.recommend-person {
    background-color: #a1bcf2;
    padding: 20px 0;
}

.recommend-title {
    color: black;
    background-color: #fff;
    border-radius: 4px;
    margin: 1% 18% 5%;
    padding: 20px 0;
    text-align: center;
} 

.title-message {
    font-size: 35px;
    font-weight: bold;
    font-family: "Mochiy Pop One", sans-serif;
}

.recommend {
    display: flex;
    align-items: center;
    margin: 0 auto 30px auto;
    padding: 0 20px;
    width: 80%;
}

.recommend .text {
    color: #fff;
    font-size: 30px;
    font-family: "Mochiy Pop One", sans-serif;
    padding: 0 20px;
}

.recommend .bi {
    width: 70px;
    height: 70px;
}

.diagnosis-question {
    background-color: #fff;
}

.question-title {
    padding: 40px;
}

.question-start {
    color: #fff;
    background-color: indianred;
    border-radius: 4px;
    margin: 20px auto;
    padding: 30px 2%;
    text-align: center;
    width: 70%;
}

.question-start h3 {
    font-size: 40px;
    font-family: "Mochiy Pop One", sans-serif;
}

.question-start span {
    color:#f083ad;
}

.question {
    color: indianred;
    border-radius: 10px;
    border:  3px solid;
    margin: 20px auto 50px auto;
    padding: 20px;
}

.question-box {
    display: flex;
    align-items: center;
    justify-content: center;
    color: indianred;
    margin: 40px auto 0 auto;
}

.question-box p {
    font-size: 40px;
    font-weight: bold;
}

.question-answer {
    display: flex;
    justify-content: center;
    gap: 20px;
    padding-top: 20px;
    flex-wrap: wrap;
}

.answer {
    color: #cf435f;
    border-radius: 10px;
    padding: 10px 20px;
    font-size: 20px;
    font-weight: 900;
}

.result-guide {
    background-color: #0a1e43;
    text-align: center;
    padding-bottom: 10px;
}

.result-guide .message{
    font-size: 50px;
    font-weight: 500;
    color: rgb(187, 174, 98);
    padding-top: 20px;
    letter-spacing: 2px;
    margin: 0 auto;
    font-family: "Noto Serif JP", serif;
}

.diagnosis-btn-line {
    color: #fff;
    background-color:#4CC764;
    border-radius: 10px;
    margin: 30px auto;
    width: 50%;
    box-shadow: 0 7px 0 #298c75;
}

.result-guide .diagnosis {
    display: block;
    padding: 10px 0;
    margin: 0 auto;
} 

.diagnosis1-line {
    font-size: 35px;
    font-weight: 700;
    border-radius: 10px;
    padding: 10px;
}

.diagnosis2-line {
    font-size: 20px;
}

.copyright {
    background-color:#BB9AC3;
    color: #fff;
    font-size: 14px;
    text-align: center;
    padding: 10px 0;
}

.copyright p {
    padding-bottom: 10px;
}

.float {
    opacity: 0; 
    transform: translateY(50px);
    transition: opacity 0.5s ease, transform 1.5s ease;
}
.float.visible {
    opacity: 1;
    transform: translateY(0);
}

@media screen and (max-width:430px) {

    .header-title .title {
        font-size: 17px;
    }

    .header-title .diagnosis {
        font-size: 15px;
        padding: 15px 12px;
    }

    .header-title .diagnosis span {
        font-size: 13px;
    }

    .fortune-telling-text {
        height: 120vw;
    }

    .diagnosis1 {
        font-size: 25px;
    }
    
    .diagnosis2 {
        font-size: 20px;
    }

    .fortune-telling-img {
        height: 150px;
    }

    .fortune-telling-guide .message {
        font-size: 27px;
        letter-spacing: 3px;
    }

    .fortune-telling-guide .message span{
        font-size: 40px;
    }

    .diagnosis_btn {
        color: #fff;
        background-color: #4CC764;
        border-radius: 10px;
        margin: 10px auto;
        width: 70%;
    }

    .step-box {
        padding: 15px 0;
        width: 90%;
        text-align: center;
        line-height: 1.5;
    }

    .step-contain .text1 {
        font-size: 25px;
    }
    
    .step-contain .text2 {
        font-size: 45px;
    }

    .step-text3 {
        font-size: 18px;
        line-height: 2;
        letter-spacing: 2px;
    }

    .step {
        margin: 30px auto;
        padding: 30px 0;
        width: 95%;
        text-align: left;
        font-size: 23px;
    }

    .contain-title h3 {
        font-size: 40px;
    }

    .contain-text .text1 {
        font-size: 25px;
        line-height: 2.0;
        letter-spacing: 3px;
    }

    .contain-text .text2 {
        font-size: 3vw;
    }

    .contain-text .text3 {
        font-size: 26px;
    }
    
    .contain p {
        font-size: 18px;
    }

    .recommend-title {
        margin: 1% 10px 5%;
        padding: 20px 0;
    }

    .title-message {
        font-size: 30px;
    }

    .recommend {
        width: 100%;
        margin: 0 auto;
        padding: 0 12px
    }

    .recommend .bi {
        max-width: 10%;
    }

    .recommend .text {
        max-width: 90%;
        font-size: 19px;
    }

    .result-guide {
        padding-bottom: 15px;
    }

    .result-guide .message {
        font-size: 23px;
        padding-bottom: 15px;
    }

    .diagnosis-btn-line {
        margin: 15px auto;
        width: 70%;
    }

    .diagnosis1-line {
        font-size: 25px;
    }
    
    .diagnosis2-line {
        font-size: 15px;
    }

    .question-title {
        padding: 15px;
    }
    
    .question-start {
        width: 100%;
    }

    .question-start  h3 {
        font-size: 30px;
    }


    .question-box p {
        font-size: 23px;
    }

}