/*-----------------------------------------
            common
-------------------------------------------*/


.dimd { position:fixed; left:0; top:0; width:100%; height:100%; background: #000; opacity: 0.5;}


/*-----------------------------------------
            contents
-------------------------------------------*/


.contents { padding-bottom:180px;  width: 1192px; margin:0 auto;}
.top-visual { width: 1192px; height: 580px;  object-fit: contain; overflow: hidden; background: url('../img/main/img_main_visual.png') no-repeat; background-size:1192px auto; }
.top-visual .inner { margin-top:100px; height:480px; width:1192px; display: flex; align-items: center; line-height:1.5; }
.top-visual h2 { padding:15px 0 0 123px; font-size: 28px; font-weight: 300; letter-spacing: -0.28px; text-align: left; color: var(--color-white); }
.top-visual h2 strong { display:block;  font-size: 56px; font-weight: 800; line-height:1.2; letter-spacing: -0.56px; color: #fe3531; }

.section-coupon h2 { padding:20px 0 24px 0; font-size: 22px; font-weight: bold; line-height: 1.91; letter-spacing: -0.22px; color:var(--color-white); }
.product-list { display: grid; grid-template-columns: 1fr 1fr 1fr; column-gap:32px; row-gap: 48px;  margin-bottom:100px; } 

.btns { display: grid; grid-template-columns: 1fr 1fr 1fr; column-gap:32px; }
.btns .btn { display:block; height: 70px; line-height:70px; padding-left:24px; cursor: pointer; font-size: 16px; font-weight: 500; letter-spacing: -0.16px; color: #fff; box-sizing: border-box; border-radius: 6px; border: solid 1px #55585d;  background:url('../img/main/ico_arrow.png') no-repeat;  background-size:18px 18px;  background-position: center right 24px; }
.btns .btn:hover { border-color: var(--color-primary);}

/*-----------------------------------------
            mobile
-------------------------------------------*/
@media all and (max-width:1023px){

    body  { width:100%;  overflow-x:hidden; } 

    .contents { padding-bottom:100px;  width: auto;  }

    .top-visual { width: 100%; height: 133vw;  background: url('../img/main/img_main_visual2.png') no-repeat; background-size:100% auto; }
    .top-visual .inner { margin-top:0;  height: 133vw; width:100%; display: block; align-items: normal; line-height:1.5;  }
    .top-visual h2 { padding:0 20px; margin-top:31.66vw; font-size: 20px; text-align: center; }
    .top-visual h2 strong { padding:4px 0; font-size: 32px;  line-height:1.31; letter-spacing: -0.32px;  }


    .section-coupon h2 { padding:8px 20px 24px 20px; }
    .product-list { display: grid; grid-template-columns: 1fr; row-gap: 24px; box-sizing: border-box;  margin-bottom:60px; padding:0 20px; } 

    .btns {grid-template-columns: 1fr; row-gap:16px; padding:0 20px; }
    .btns .btn { height: 60px; line-height:60px; padding-left:20px;  background-position: center right 20px;}
 
}