/* CSS Document */


:root{
    --bg-color: #ececec;
    --sub-color:#9e9e9e;
    --Pg-En-sans: futura-pt, sans-serif;
}


#curl40_wrap{
    width: 100%;
    max-width: 800px;
    font-size: clamp(1.58rem, 0.352rem + 2.56vw, 2.4rem);
    margin: 30px auto; 
    text-align: center;
}

#curl40_wrap img{
    max-width: 100%;
    vertical-align: bottom;
}

#curl40_wrap sup{
    font-size: 11px;
    vertical-align: super;
    margin-left: 5px;
}

#curl40_wrap .comm_mt{
    margin-top: 4em;
}

#curl40_wrap .comm_ttl{
    font-size: clamp(2rem, -0.339rem + 6.45vw, 4.5rem);
    margin-bottom: 0.6em;
    letter-spacing: 0.05rem;
    font-weight: 400;
}

#curl40_wrap .comm_ttl span{
    font-size: 80%;
    display: block;
    margin-bottom: 0.3em;
}

#curl40_wrap .comm_ttl span.sub{
    font-size: 58%;
    margin-bottom: 1em;
    font-weight: 500;
    font-family: var(--Pg-En-sans);
    letter-spacing: 0.08rem;
}

#curl40_wrap .comm_btn{
    background: #fff;
    border: clamp(1.5px, 0.2vw + 1px, 3px) solid;
    border-radius: 50px;
    font-size: clamp(1.25rem, 3vw, 2rem);
    width: 85%;
    max-width: 600px;
    margin: 2em auto;

}

#curl40_wrap .comm_btn a{
    display: block;
    padding: 15px 0;
    position: relative;
}
#curl40_wrap .comm_btn a::after{
    content: "";
    width: 10px;
    height: 10px;
    border: 0;
    border-top: solid 2px;
    border-right: solid 2px;
    position: absolute;
    top: 50%;
    margin-top: -5px;
    transform: rotate(45deg);
    right: 7%;
}






#curl40_wrap #about{
    margin-bottom: 3em;
}

#curl40_wrap #about ul{
    align-items: flex-start;
}

#curl40_wrap #about li{
    width: 32%;
}

#curl40_wrap #about p{
    margin: 1.5em auto;
    font-weight: 500;
}

#curl40_wrap #about dt{
    font-weight: bold;
    margin: 0.5em auto 0.3em;
    font-size: clamp(1.7rem, 0.671rem + 2.4vw, 2.6rem);
}

#curl40_wrap #about dd{
    word-break: keep-all;
    overflow-wrap: anywhere;
    font-size: 83%;
}



#curl40_wrap #trouble{
    background: url("bg.jpg") no-repeat;
    padding: 2em 0;
}

#curl40_wrap #trouble .box{
    background: #fff;
    display: inline-block;
}

#curl40_wrap #trouble .box ol{
   padding: 2em 1.5em 2em 2em;
}

#curl40_wrap #trouble .box li{
    text-align: left;
    margin-bottom: 0.8em;
    padding-left: 0.5em;
    text-indent: -0.7em;
}

#curl40_wrap #trouble .box li span{
    vertical-align: middle;
    margin-right: 5px;
}

#curl40_wrap #trouble p{
    font-size: clamp(2rem, 1.4509rem + 1.35vw, 2.8rem);
    margin-top: 1.5em;
    font-weight: 500;
    line-height: 1.8;
}



#curl40_wrap #so{
    margin-top: -1em;
}

#curl40_wrap #so .fuki{
    background: var(--base-color);
    color: #fff;
    display: inline-block;
    padding: 0.1em 0.8em;
    position: relative;
    margin-bottom: 2em;
}

#curl40_wrap #so .fuki::after{
    content: "";
    position: absolute;
    box-sizing: border-box;
    border: 8px solid transparent;
    border-top: 10px solid var(--base-color);
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    top: 100%
}

#curl40_wrap #so #mods-logo{
    width: 52%;
    max-width: 220px;
    margin: auto;
}

#curl40_wrap #so .comm_ttl{
    margin: 0.8em auto;
}

#curl40_wrap #so .comm_flex{
    margin-top: 3em;
    position: relative;
}

#curl40_wrap #so .comm_flex .image{
    width: 45%;
}

#curl40_wrap #so .comm_flex .text{
    position: absolute;
    bottom: -15%;
    left: 36%;
    z-index: -1;
}

#curl40_wrap #so .comm_flex .text p{
    margin-left: 20%;
    text-align: left;
    margin-bottom: 2em
}



#curl40_wrap #feature{
    background:url("bk.jpg") no-repeat #f5f2ed;
    background-position: top;
    margin-top: 5em;
    padding: 2em 0 0.5em;
	counter-reset: number;
}

#curl40_wrap #feature .block{
    background: #fff;
    padding: 2em 0 1em;
    margin-bottom: 2.5em;
	counter-increment: number;
    position: relative;
}

#curl40_wrap #feature .block::before{
	content: "FEATURES."counter(number , decimal-leading-zero);
    font-family: var(--Pg-En-sans);
    position: absolute;
    background: #997555;
    top: -0.5em;
    left: 0;
    color: #fff;
    font-size: clamp(1.2rem, 0.639rem + 1.355vw, 1.7rem);
    padding: 0.1em 0.5em;
    font-weight: 500;
    letter-spacing: 0.05em; 
}


#curl40_wrap #feature .block h3{
    font-size: clamp(2.2rem, 0.516rem + 4.65vw, 4rem);
    font-weight: normal;
    margin-bottom: 0.5em;
}

#curl40_wrap #feature .block h3 span{
    font-size: 75%;
    display: block;
}

#curl40_wrap #feature .block p{
    text-align: left;
    margin: 0.5em auto 1.5em;
}

#curl40_wrap #feature .block #arrange{
    border-top: 1px solid;
    padding-top: 1.5em;
}

#curl40_wrap #feature .block #arrange .midashi{
    margin-bottom: 1.5em;
    font-size: clamp(2rem, 0.129rem + 5.16vw, 4rem);
}

#curl40_wrap #feature .block #arrange .midashi span{
    display: block;
    font-family: var(--Pg-En-sans);
    font-weight: 500;
    margin-bottom: 0.2em;
    font-size: 60%;
}

#curl40_wrap #feature .block li{
    width: 32%;
}

#curl40_wrap #feature .block li p{
    text-align: center;
    margin-top: 0.2em;
}

#curl40_wrap #feature .block dt{
    font-weight: bold;
    margin: 1em auto 0.5em;
    font-size: clamp(2rem, 1.065rem + 2.58vw, 3rem);
    word-break: keep-all;
    overflow-wrap: anywhere;
}

#curl40_wrap #feature .block dd{
    text-align: left;
    margin: 0 auto 2em;
    max-width: 620px;
}

#curl40_wrap #concept .comm_flex{
    flex-wrap: wrap;
    align-items: flex-start;
}

#curl40_wrap #concept .comm_flex dl{
    width: 48%;
    margin-bottom: 1.5em;
}

#curl40_wrap #concept .comm_flex dt{
    font-weight: bold;
    margin: 1em auto 0.5em;
}

#curl40_wrap #concept .comm_flex dd{
    text-align: left;
}

#curl40_wrap #concept .comm_flex dd span{
    display: block;
    font-size: 12px;
    margin-top: 1.2em;
}


#curl40_wrap #spec dl{
    margin: 2em auto;
    max-width: 700px;
    font-size: clamp(1.35rem, 0.368rem + 2.71vw, 2.4rem);
    
}

#curl40_wrap #spec dt{
    text-align: left;
}





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

#curl40_wrap #trouble .box li span{
    font-size: 20px;
    margin-right: 2px;
}






















}





