/* リセットCSS */
*,
*::before,
*::after {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}
/* For smartphone */
body {
    font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
    color: #4f4f4f;
    margin: auto;
    max-width: 520px;
    font-weight: bold;
}

main{
    background-color: white;
}
img{
    max-width: 100%;
    }
/* Contents */
/* section 0 */
.Introduction{
    margin: 0;
}
.catch-copy{
    text-align: center;
    margin: 1rem;
}
.firstview{
    position: relative; 
}
.product-title{
    position: absolute;
    bottom: 10%;
    left: 5%;
    text-align: left;
    line-height: normal;
}
.logo{
    width: 50%;
}
.subtitle{
    font-size: 70%;
}
/* section 1 */
.Concept{
    margin: 0;
    padding: 0;
}
.concept-value{
    text-align: center;
    padding-bottom: 2rem;
}
/* caution and cta */
.caution-cta{
    background-color: #e6e6e7;
    margin-bottom: 2rem;
    padding: 1.2rem;
}
.caution{
    padding-bottom: 1em;
    text-align: center;
}
.cta{
    color: #fff;
    background: #6a7af2;
    box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);
    max-width: fit-content;
    text-decoration: none;
    text-align: center;
    display: block;
    margin: auto;
    padding: 1em;
    border-radius: 3rem;
    transition: all .2s;
}
.cta:hover{
    opacity: 0.6;
}
.incentive{
    text-align: center;
    font-weight: bold;
    color: #6a7af2;
    padding: 1rem;
}
/* section 2 */
.Problem{
    margin: 0;
}
.concern{
    width: auto;
}
.concern p{
    font-size: 120%;
    font-weight: bold;
    margin: 1em;
    text-align: center;
}
.marker-b{
    background:linear-gradient(transparent 50%, #d1d1fe 0%);
}
.question{
    color: #fff;
    background-color: #4f4f4f;
    margin: auto;
    width: fit-content;
}
.graph{
    padding: 2rem;
    width: 100%;
}

/* section 3 */
.Function{
    margin: 0.5em;
}
.solve {
    position: relative;
}
.solve img{
    position: absolute;
    top: 0%;
    right: 0%;
    width: 20%;
}
.solve h1{
    text-align: center;
}
.solution-desc{
    text-align: center;
    margin: 2rem 0;
    font-weight: bold;
    font-size: 150%;
    text-decoration: underline;
}
.with{
    text-align: center;
    line-height: 2rem;
    padding: 1rem;
}
.with ul{
    display: inline-block;
    line-height: 2em;
    list-style: none;
    font-size: small;
}
.with li{
    text-align: left;
}
.trial{
    text-align: center;
    padding: 1rem;
}

/* section 4 */
.concept img{
    vertical-align: bottom
}
.concept h2{
    text-align: center;
    padding: 1rem 0;
}
.caution-bottom{
    background-color: #e6e6e7;
    padding-bottom: 4rem;
}
/* footer */
footer{
    position: fixed;
    bottom: 0.5rem;
    margin: auto;
    width: 100%;
    max-width: 520px;
}
.footer-cta{
    display: inline-block;
    height: 3.5rem;
    padding-bottom: 1rem;
}

/* For not smartphone */
@media screen and (min-width: 768px) {
    body{
        max-width: 50%;
        line-height: normal;
    }
    main, footer{
        margin: 0 auto;
        font-size: 1.5vw;
    }
    .firstview img{
        margin: auto;
    }
    .subtitle{
        font-size: 100%;
    }
    .product-disc{
        font-size: 1.3em;
    }
    .product-title{
        font-size: 1em;
    }
    .Problem h2{
        font-size: 1em;
    }
    .with ul{
        font-size: 1rem;
    }
    .concept-txt {
        font-size: 1em;
    }
    .caution-bottom{
        background-color: #e6e6e7;
        padding-bottom: 8rem;
    }
    .footer-cta{
        height: 7rem;
        max-width: 50%;
        width: 100%;
    }
}