@charset "utf-8";
/* CSS Document */
@import url('https://fonts.googleapis.com/css2?family=Josefin+Sans:ital,wght@0,100..700;1,100..700&display=swap');

/*

  font-family: "Josefin Sans", sans-serif;
  
*/

:root{
	--bg-color: #eee;
    --En-sans: "Josefin Sans", sans-serif;
}

/*
font-family: adventures-unlimited, sans-serif;
font-family: zen-kaku-gothic-new, sans-serif;
font-family: montserrat, sans-serif;
*/


div#sysMain {
  width: 100% !important;
  max-width: none !important;
  margin: 0px auto !important;
}

#frag_wrap{
	margin: auto;	
    text-align: center;
    font-size: clamp(1.6rem, 1.36rem + 0.8vw, 2rem);
    margin-bottom: 80px;
	color: var(--base-color);
    /*font-family: var(--Jp-sans);*/
    font-weight: 500;
    font-style: normal;
    line-height: 1.8;
}

#frag_wrap img{
    vertical-align: bottom;
}

#frag_wrap a{
	color: var(--base-color);
}

#frag_wrap sup{
    font-size: 11px;
}

#frag_wrap .comm_flex{
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}

/*#frag_wrap .comm_w90{
    max-width: 1000px;
}*/

#frag_wrap .comm_mt{
    margin-top: 3.5em;
}

#frag_wrap .comm_ttl h2{
    font-size: clamp(2rem, 6.67vw, 5rem);
    letter-spacing: 0.1rem;
    margin-bottom: 2em;
    font-family: var(--En-sans);
}

#frag_wrap .comm_ttl h2 span{
    display: block;
    font-size: 40%;
    font-weight: normal;
}




#frag_wrap #frag-navi{
    display: flex;
    justify-content: center;
    background: #2e2e2e;
    padding: 0.5em 0;
    letter-spacing: 0.08em;
    font-size: clamp(1.3rem, 0.833rem + 1.56vw, 2rem);
}

#frag_wrap #frag-navi li:not(:last-child){
    border-right: 1px solid #fff;
    padding-right: 2%;
    margin-right: 2%;
    letter-spacing: 0.03em;
}

#frag_wrap #frag-navi li a{
    color: #fff;
    display: block;
}





#frag_wrap #concept .comm_flex{
    width: 90%;
    max-width: 1000px;
    margin: auto;
}

#frag_wrap #concept .comm_flex .box{
    width: 47%;
    display: grid;
}

#frag_wrap #concept .comm_flex .box:nth-of-type(1) img{
    order: 2;
    margin-top: 2em;
}

#frag_wrap #concept .comm_flex .box dl{
    text-align: left;
    margin-right: -10%;
}

#frag_wrap #concept .comm_flex .box .eng{
    text-align: left;
    margin-top: 2em;
}

#frag_wrap #concept .comm_flex dt{
    font-size: clamp(2rem, 1.12rem + 2.126vw, 3.2rem);
    margin-bottom: 0.8em;
    font-family: var(--En-sans);
    letter-spacing: 0.02em;
    font-weight: bold;
}

#frag_wrap #concept .comm_flex dd p{
    font-weight: bold;
    margin-bottom: 1.5em;
}






#frag_wrap .hero{
    position: relative;
    margin-bottom: 3em;
}

#frag_wrap .hero dl{
    width: 94%;
    position: absolute;
    inset: 0;
    margin:auto;
    height: fit-content;
    color: #fff;
}

#frag_wrap .hero img{
    object-fit: cover;
    width: 100%;
    height: 500px;
}

#frag_wrap .hero dd{
    line-height: 2;
    font-size: clamp(1.35rem, 1rem + 1.033vw, 2rem);
}

#frag_wrap .hero dd p{
    font-size: 115%;
    line-height: 1.4;
    margin-bottom: 1em;
}

#frag_wrap .hero .comm_ttl h2{
    margin-bottom: 0.8em;
}


#frag_wrap #product{
    width: 100%;
    max-width: none;
}

#frag_wrap #product .block{
    margin-bottom: 6em;
}

#frag_wrap #product .block .sp_img{
    display: none;
}

#frag_wrap #product .comm_flex{
    align-items: flex-start;
    margin-top: 3em;
}

#frag_wrap #product .comm_flex .item{
    width: 40%;
}

#frag_wrap #product .comm_flex .detail{
    width: 55%;
    text-align: left;
}

#frag_wrap #product .comm_flex .detail .name{
    font-family: var(--En-sans);
    font-size: clamp(2rem, 1.2rem + 2.67vw, 3.2rem);
    letter-spacing: 0.05em;
    font-weight: bold;
}

#frag_wrap #product .comm_flex .detail .name span{
    font-size: 85%;
    margin-right: 1em;
}

#frag_wrap #product .comm_flex .detail .price{
    border-bottom: 1px solid;
    padding-bottom: 0.8em;
    margin-bottom: 1.2em;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

#frag_wrap #product .comm_flex .detail .price .capa{
    border: 1px solid;
    font-size: 60%;
    margin: 0 0.5em;
    padding: 1px 5px;
}

#frag_wrap #product .comm_flex .detail .price span:last-of-type{
    text-align: right;
}



#frag_wrap #product .comm_flex .detail dt{
    font-size: clamp(1.7rem, 1.1rem + 1.33vw, 2.1rem);
}

#frag_wrap #product .comm_flex .detail dt::before{
    content: "Concept ｜ ";
    font-family: var(--En-sans);
}

#frag_wrap #product .comm_flex .detail dd{
    line-height: 2.2;
    margin-top: 1em;
}

#frag_wrap #product .comm_flex .detail .btn{
    background: var(--base-color);
    width: 70%;
    max-width: 300px;
    margin: 2em 0 0 30%;
    text-indent: 1em;
    border-radius: 5px;
    position: relative;
    float: right;
}

#frag_wrap #product .comm_flex .detail .btn a{
    color: #fff;
    display: block;
    padding: 0.5em 0;
}

#frag_wrap #product .comm_flex .detail .btn span{
    position: absolute;
    right: 3%;
    top: 50%;
      -webkit-transform: translateY(-50%);
      transform: translateY(-50%);

}

#frag_wrap #product .comm_flex .text{
    width: 65%;
    text-align: left;
}

#frag_wrap #product .comm_flex .text p{
    margin-top: 1em;
    line-height: 2;
}


#frag_wrap #product .comm_flex .image{
    width: 30%;
}



#frag_wrap #seibun{
    background: var(--bg-color);
    padding: 5em 0;
}

#frag_wrap #seibun .comm_flex{
    align-items: flex-start;
}

#frag_wrap #seibun .box{
    width: 31%;
    margin-bottom: 2em;
}

#frag_wrap #seibun .box dt{
    font-weight: bold;
    margin: 1em auto;
    display: flex;
    align-items: center;
    justify-content: center;
    word-break: keep-all;
    overflow-wrap: anywhere;
}

#frag_wrap #seibun .box dd{
    text-align: left;
    font-size: 90%;
}

#frag_wrap #seibun .imgsp{
    display: none;
}

#frag_wrap #seibun .white{
    max-width: 850px;
    margin: 1em auto 0;
    background: #fff;
    padding: 2em;
    box-sizing: border-box;

}
#frag_wrap #seibun .white p{
    margin-bottom: 0.5em;
    font-size: 80%;
    word-break: keep-all;
    overflow-wrap: anywhere;
}


#frag_wrap #howto ul.comm_flex{
}

#frag_wrap #howto ul.comm_flex li{
    width: 18%;
    max-width: 140px;
    font-family: var(--En-sans);
}

#frag_wrap #howto ul.comm_flex li p{
    margin-top: 0.5em;
    font-size: clamp(1.2rem, 0.733rem + 1.356vw, 1.9rem);
}

#frag_wrap #howto .comm_flex{
    align-items:stretch;
    margin-top: 5em;
}

#frag_wrap #howto .comm_flex dl{
    width: 48%;
    background: #eee;
    margin-bottom: 2em;
    padding: 4%;
    box-sizing: border-box;
    position: relative;
}

#frag_wrap #howto .comm_flex dl::before{
    position: absolute;
    content: "■";
    display: block;
    left: 2%;
    top: 1%;
}


#frag_wrap #howto .comm_flex dt{
    font-weight: bold;
    margin-bottom: 1.2em;
    font-size: clamp(1.8rem, 1.34rem + 1.233vw, 2.4rem);
}

#frag_wrap #howto .comm_flex dd{
    text-align: left;
}

#frag_wrap #howto .comm_flex dd p{
    font-size: 75%;
    margin-top: 1.5em;
}


#frag_wrap #howto .block{
    margin-top: 5em;
}

#frag_wrap #howto .block dl{
    margin-top: 2em;
}

#frag_wrap #howto .block dl dt{
    font-weight: bold;
    margin-bottom: 2em;
    font-size: clamp(1.8rem, 1.333rem + 1.56vw, 2.5rem);
}


#frag_wrap #brand .hero img{
    height: 600px;
}

#frag_wrap #brand .hero img.imgsp{
    display: none;
}



@media only screen and (max-width: 767px) {  
    #frag_wrap #concept .comm_flex{
        width: 100%;
    }
    #frag_wrap #concept .comm_flex .box:nth-of-type(2){
        display: none;
    }

    #frag_wrap #concept .comm_flex .box{
        width: 100%;
    }

    #frag_wrap #concept .comm_flex .box:nth-of-type(1) img{
        order: 0;
        margin: 0 auto 2em;
    }
    #frag_wrap #concept .comm_flex .box dl{
        margin: auto;
        width: 90%;
    }





    #frag_wrap .hero img {
        height: 300px;
        object-position: 35% 0;
    }

    #frag_wrap #product .block .sp_img{
        display: block;
        margin-bottom: 1.5em;
    }

    #frag_wrap #product .comm_flex .text{
        width: 55%;
    }
    #frag_wrap #product .comm_flex .image {
        width: 42%;
    }
    #frag_wrap #product .comm_flex .text img{
        display: none;
    }
    #frag_wrap #product .comm_flex .text p{
        margin-top: 0;
        line-height: 1.6;
        font-size: clamp(1.3rem, 0.833rem + 1.56vw, 2rem);
    }
    #frag_wrap #product .comm_flex .item{
        width: 100%;
    }

    #frag_wrap #product .comm_flex .detail{
        width: 100%;
        margin-top: 2em;
    }

    #frag_wrap #product .comm_flex .detail .btn{
        margin: 2em auto 0;
        float: none;
        max-width: none;
    }

    #frag_wrap #seibun .comm_flex{
        flex-wrap: wrap;
    }

    #frag_wrap #seibun .box{
        width: 100%;
        display: flex;
        align-items: flex-start;
        justify-content: space-between;
    }

    #frag_wrap #seibun .box img{
        width: 30%;
        display: none;
    }

    #frag_wrap #seibun .box img.imgsp{
        display: block;
    }

    #frag_wrap #seibun .box dl{
        width: 65%;
        margin-left: 5%;
    }

    #frag_wrap #seibun .box dt{
        display: block;
        text-align: left;
        margin: 0 auto 0.35em;
        line-height: 1.5;
    }

    #frag_wrap #seibun .box dd{
        line-height: 1.5;
    }





    #frag_wrap #howto .hero img{
        object-position: 60% 0;
        height: 400px;
    }


    #frag_wrap #howto .comm_flex{
        margin-top: 1.5em;
    }
    #frag_wrap #howto ul.comm_flex{
        justify-content: center;
    }
    #frag_wrap #howto ul.comm_flex li{
        width: 30%;
        margin: 0 1.5% 2em;
    }

    #frag_wrap #howto .comm_flex dl{
        width: 100%;
    }
    #frag_wrap #howto .block {
        margin-top: 0;
    }
    #frag_wrap #howto .block dl {
        margin-top: 1em;
    }
    #frag_wrap #howto .block dl dt{
        margin-bottom: 1.5em;
    }
    #frag_wrap #howto .block dl dd{
        text-align: left;
    }
    #frag_wrap #brand .hero img{
        height: 600px;
    }
    #frag_wrap #brand .hero img.imgpc{
        display: none;
    }
    #frag_wrap #brand .hero img.imgsp{
        display: block;
        object-fit: contain;
        height: auto;

    }



}










































