@charset "utf-8";
body{
    background-color: #e2e2e2;
}
.pc{
    display: none;
}
/* nav */
.flex{
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
}
.sp ul.glonav li a{
    font-family: "Anta", sans-serif;
    font-weight: 400;
    font-style: normal;
    font-size: 22px;
    letter-spacing: 0.15em;
}
/* //nav */

/* font.hover */
h2,p,li,dt,dd,small,a{
    font-size: 14px;
    color: #ffffff;
    line-height: 20px;
    font-family: "Anta", sans-serif;
    font-weight: 400;
    font-style: normal;
}
a{
    transition: .4s;
}
a:hover{
	opacity: 0.8;
}
/* //font.hover */

.wrapper{
    width: 100%;
}
.top-text{
    padding: 140px 15px 130px;
}
div.top-text p{
    line-height: 55px;
    margin-bottom: 0;
    color: #353535;
    font-family: 'Noto Sans JP',  YuGothic ,"Yu Gothic Medium",sans-serif;
}
.content{
    box-sizing: border-box;
    padding-top:30px;
    margin-bottom: 120px;
}
.background {
    width: 100%;
    background: linear-gradient(180deg,#e2e2e2 0%, #e2e2e2 40%, #545454 40%, #545454 100%);
    margin-bottom: 50px;
}
.background img{
    max-width: 500px;
    margin: 0px auto;
}
img.main-img {
    display: block;
    width: 93%;
    height: auto;
}
.price{
    font-size: 14px;
    margin-left: 20px;
}
.price-box{
    padding: 50px 0;
    background-color: #545454;
}
.price-flex{
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    padding: 0 10px;
}
.price-flex p{
    font-weight: bold;
}
.img-box{
    position: relative;
    height: 535px;
    margin:50px auto;
    width: 100%;
}
.img-box img{
    position: absolute;
    width: 100%;
    max-width: 250px;
}
.c1{
    margin: 0 auto 50px;
}
 img.point1{
    top:0px;
    left: 3%;
    z-index: 1;
    max-width: 350px;
}
 img.point2{
    top:234px;
    right:3%;
}
/* #sec3 img.point1{
    top:0px;
    left: 3%;
    z-index: 1;
}
#sec3 img.point2{
    top:300px;
    right:3%;
    max-width: 350px;
}
#sec4 .img-box{
    position: relative;
    height: 565px;
    margin:50px auto;
    width: 100%;
}
#sec4 img.point1{
    top:0px;
    left: 3%;
    z-index: 1;
    max-width: 350px;
}
#sec4 img.point2{
    top:230px;
    right:3%;
} */
#sec4 img.point1{
    top:0px;
    left: 3%;
    z-index: 1;
    max-width: 250px;
}
#sec4 img.point2{
    top:300px;
    right:3%;
    max-width: 350px;
}
.img-box2{
    margin: 70px auto;
    display: flex;
    justify-content: center;
}
.img-box2 a{
    width: calc(93% / 3);
    height: 100%;
}
.img-box2 .point1{
    -webkit-transform: rotate(-5deg);
    transform: rotate(-5deg);
}
.img-box2 .point2{
    margin-top: 80px;
    -webkit-transform: rotate(10deg);
    transform: rotate(10deg);
}
.img-box2 .point3{
    margin-top: 20px;
    -webkit-transform: rotate(-10deg);
    transform: rotate(-10deg);
}
.circle{
    margin-bottom: 50px;
}
.circle.active{
    animation: circle 2s cubic-bezier(0.4, 0, 0.2, 1);
}
@keyframes circle {
    0% {
      clip-path: circle(0 at 50% 50%);
      -webkit-clip-path: circle(0 at 50% 50%);
    }
  
    100% {
      clip-path: circle(100% at 50% 50%);
      -webkit-clip-path: circle(100% at 50% 50%);
    }
  }

.ribbon{
    max-width: 200px;
    margin: 0 auto;
}
.btn a {
    text-align: center;
    color: #fff;
    width: 300px;
    max-width: 300px;
    display: block;
    margin: 100px auto;
    height: 50px;
    line-height: 50px;
    border-radius: 100vh;
    background-color: #353535;
    box-shadow: 3px 3px 0px rgba(0, 0, 0, 0.1);
}
.btn a:hover {
	box-shadow: 0 0 10px rgba(0,0,0,0);
}
footer{
    width: 100%;
    padding:50px 0px 20px;
    margin: 0 auto;
}
footer li{
    text-align: center;
    margin-bottom: 10px;
}
footer li {
    color: rgb(255, 255, 255);
}
.logo-ear{
    max-width: 70px;
    margin: 0 auto;
}
footer .flex a{
    background-image: url(../img/sns/sns-bg.png);
    margin: 20px 10px;
    padding: 10px;
    width: 55px;
    height: 55px;
}
footer .flex img{
    max-width: 35px;

}
footer .flex img.tw,header .glonav li.flex img.tw{
    margin-top: 3.5px;
}
small{
    display: block;
    margin: 50px auto 0 auto;
    text-align: center;
    color: #353535;
}
.qr{
    display: none;
}
@media screen and (min-width:561px){
    header{
        display: block;
    }
    .top-text{
        padding:180px 20px 170px;
    }
    .img-box{
        width: 70%;
    }
    .price-flex{
        justify-content: center;
    }
}
@media screen and (min-width:780px){
    .top-img,.wrapper,footer{
        max-width: 500px;
        margin:0 auto
    }
    .pc{
        display: block;
        position: fixed;
        top:30px;
        left: 25px;
        z-index: 2;
    }
    .pc li a{
        color: #353535;
        font-family: "Anta", sans-serif;
        font-weight: 400;
        font-style: normal;
        font-size: 20px;
        letter-spacing: 0.15em;
        line-height: 50px;
    }
    .sp{
        display: none;
    }
    body{
        position: relative;
    }
    .qr{
        display: block;
        position: fixed;
        bottom:0;
        right: 85%;
        z-index: 3;
    }
    .qr div{
        margin: 0 auto;
        margin-bottom: 50px;
        max-width: 105px;
    }
    .qr div p{
        color: #353535;
        font-size: 12px;
        line-height: 30px;
        text-align: center;
        font-family: 'Noto Sans JP',  YuGothic ,"Yu Gothic Medium",sans-serif;
    }
    .qr img{
        max-width: 95px;
        margin: 0 auto;
    }
    .top-text p{
        line-height: 70px;
        margin-bottom: 0;
    }
    .img-box{
        width: 100%;
    }
    .ribbon{
        max-width: 300px;
        margin: 0 auto;
    }
}
@media screen and (min-width:1024px){
/*PC用として画面幅を1024pxまでに設定*/
.qr{
    right: 91%;
    
}
}