.glass-hero{
  max-width:1100px;
  margin:30px auto 60px;
  padding:20px;
  text-align:center;
}

.glass-hero-img{
  width:100%;
  max-width:1000px;
  height:auto;
  border-radius:24px;
  box-shadow:0 12px 32px rgba(0,0,0,.12);
}

.glass-hero-text{
  margin-top:28px;
}

.hero-sub{
  color:#b08a4a;
  font-size:15px;
  letter-spacing:.12em;
  margin-bottom:10px;
}

.glass-hero h1{
  font-size:clamp(28px,5vw,46px);
  line-height:1.45;
  color:#6b3f3f;
  font-weight:500;
  margin:0 0 20px;
}

.glass-hero p{
  font-size:16px;
  line-height:1.9;
  color:#555;
}

.hero-point{
  color:#8a5a5a;
  font-weight:bold;
}




.price-box{
  max-width:760px;
  margin:40px auto;
  padding:28px 18px;
  background:#fffaf4;
  border:1px solid #ead8c8;
  border-radius:18px;
  text-align:center;
}

.price-item{
  background:#fff;
  border:1px solid #ead8c8;
  border-radius:16px;
  padding:22px 16px;
  margin:18px auto;
}

.price-item.campaign{
  background:#fff3f3;
  border:2px solid #d8a24a;
}

.campaign-badge{
  display:inline-block;
  background:#c99a3b;
  color:#fff;
  padding:8px 22px;
  border-radius:999px;
  font-size:18px;
  font-weight:bold;
}

.price-label{
  color:#6b4a3a;
  font-size:20px;
  margin:14px 0 6px;
}

.price-main{
  color:#7a2f2f;
  font-size:48px;
  font-weight:bold;
  margin:8px 0;
  line-height:1.2;
}

.price-main.sale{
  color:#c0392b;
  font-size:58px;
}

.price-save{
  color:#b85c38;
  font-size:28px;
  font-weight:bold;
  margin-top:10px;
}

.price-note{
  color:#666;
  font-size:16px;
  line-height:1.8;
}




.plate-info-box{
  max-width:900px;
  margin:50px auto;
  text-align:center;
}

.plate-info-img{
  width:100%;
  max-width:800px;
  height:auto;
  border-radius:18px;
  box-shadow:0 10px 28px rgba(0,0,0,.08);
}


.spec-box{
  max-width:850px;
  margin:50px auto;
  padding:34px 24px;
  background:#fffaf5;
  border:1px solid #ead8c8;
  border-radius:18px;
}

.spec-box h2{
  text-align:center;
  color:#6b3f3f;
  margin-bottom:28px;
}

.spec-list{
  margin:0;
  padding:0;
  list-style:none;
}

.spec-list li{
  margin:18px 0;
  padding:18px 20px;
  background:#fff;
  border-radius:14px;
  line-height:1.9;
  color:#555;
  box-shadow:0 3px 10px rgba(0,0,0,.04);
}


.works-section{
  max-width:1100px;
  margin:70px auto;
  padding:0 20px;
  text-align:center;
}

.works-section h2{
  color:#6b3f3f;
  margin-bottom:36px;
}

.works-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
  gap:24px;
}

.works-item{
  background:#fff;
  border-radius:18px;
  overflow:hidden;
  box-shadow:0 8px 24px rgba(0,0,0,.08);
  transition:.3s;
}

.works-item:hover{
  transform:translateY(-4px);
}

.works-item img{
  width:100%;
  display:block;
}



.campaign-wrap{
  max-width:1100px;
  margin:50px auto;
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:28px;
}












.campaign-box{
  background:#fff3f3;
  border:2px solid #d8a24a;
  border-radius:22px;
  padding:34px 20px;
  text-align:center;
  box-shadow:0 8px 24px rgba(0,0,0,.06);
}

.campaign-box.second{
  background:#fff8f0;
}

.campaign-title{
  font-size:28px;
  color:#c0392b;
  font-weight:bold;
  line-height:1.6;
}

.campaign-price{
  font-size:58px;
  color:#b30000;
  font-weight:bold;
  margin:18px 0 10px;
  line-height:1.2;
}

.campaign-tax{
  font-size:18px;
  color:#666;
}

.campaign-note{
  margin-top:18px;
  color:#6b4a3a;
  line-height:1.8;
}

.campaign-badge{
  display:inline-block;
  background:#c99a3b;
  color:#fff;
  padding:8px 22px;
  border-radius:999px;
  font-size:18px;
  font-weight:bold;
  margin-bottom:18px;
}

.campaign-text{
  line-height:1.9;
  color:#555;
  margin-bottom:10px;
}

.campaign-small{
  margin-top:18px;
  color:#777;
  font-size:14px;
  line-height:1.8;
}

.notice-section{
  max-width:950px;
  margin:70px auto;
  padding:0 20px;
}

.notice-section h2{
  text-align:center;
  color:#6b3f3f;
  margin-bottom:34px;
}

.notice-card{
  background:#fffaf5;
  border:1px solid #ead8c8;
  border-radius:18px;
  padding:28px 24px;
  margin:24px auto;
  box-shadow:0 6px 18px rgba(0,0,0,.04);
}

.notice-card h3{
  color:#8a4a3a;
  font-size:22px;
  margin-bottom:16px;
  border-bottom:1px solid #ead8c8;
  padding-bottom:10px;
}

.notice-card p{
  color:#555;
  line-height:2;
  margin:14px 0;
}

.notice-card ul{
  margin:16px 0 0;
  padding-left:20px;
}

.notice-card li{
  color:#555;
  line-height:1.9;
  margin:8px 0;
}













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

  .notice-section{
    margin:45px auto;
    padding:0 14px;
  }

  .notice-card{
    padding:22px 16px;
  }

  .notice-card h3{
    font-size:18px;
  }

}


.red-rose{
  color:#c0392b;
  font-weight:bold;
}


.important-note-list{
  max-width:850px;
  margin:40px auto;
  padding:26px 28px;
  background:#fffaf5;
  border:1px solid #ead8c8;
  border-radius:18px;
}

.important-note-list li{
  margin:14px 0;
  line-height:1.9;
  color:#555;
}

.red-rose{
  color:#c0392b;
  font-weight:bold;
}



.flow-section{
  max-width:950px;
  margin:70px auto;
  padding:0 20px;
}

.flow-section h2{
  text-align:center;
  color:#6b3f3f;
  margin-bottom:40px;
}

.flow-step{
  display:flex;
  gap:20px;
  align-items:flex-start;
  background:#fffaf5;
  border:1px solid #ead8c8;
  border-radius:18px;
  padding:24px;
  margin:24px 0;
  box-shadow:0 6px 18px rgba(0,0,0,.04);
}

.flow-number{
  width:56px;
  height:56px;
  border-radius:50%;
  background:#c99a3b;
  color:#fff;
  font-size:26px;
  font-weight:bold;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-shrink:0;
}

.flow-content{
  flex:1;
}

.flow-content h3{
  margin:0 0 12px;
  color:#8a4a3a;
}

.flow-content p{
  margin:12px 0;
  line-height:1.9;
  color:#555;
}

.flow-caution{
  color:#c0392b;
  font-weight:bold;
}

.flow-red{
  color:#b30000;
  font-weight:bold;
}

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

  .flow-step{
    flex-direction:column;
    padding:20px 16px;
  }

  .flow-number{
    width:48px;
    height:48px;
    font-size:22px;
  }

}

.cart-mini{
  margin-top:18px;
  color:#c0392b;
  font-weight:bold;
  line-height:1.8;
}

.cart-note-small{
  margin-top:14px;
  color:#777;
  font-size:13px;
}

.cart-select{
  margin:24px 0 18px;
}

.cart-select label{
  display:block;
  margin-bottom:8px;
  color:#6b4a3a;
  font-weight:bold;
}

.cart-select select{
  width:110px;
  height:42px;
  border:1px solid #d8c3b0;
  border-radius:10px;
  font-size:18px;
  text-align:center;
  background:#fff;
}

.cart-button{
  margin-top:20px;
}














/* smartphone */

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

  .campaign-wrap{
    grid-template-columns:1fr;
    gap:20px;
    margin:30px 14px;
  }

  .campaign-box{
    padding:26px 16px;
  }

  .campaign-title{
    font-size:22px;
  }

  .campaign-price{
    font-size:42px;
  }

  .campaign-tax{
    font-size:16px;
  }

}




.campaign-price2{
  font-size:42px;
  color:#e60012;
  font-weight:bold;
  margin:18px 0 10px;
  line-height:1.2;
}















/* smartphone */

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

  .price-box{
    padding:22px 14px;
  }

  .price-item{
    padding:20px 12px;
  }

  .campaign-badge{
    font-size:15px;
    padding:6px 16px;
  }

  .price-label{
    font-size:17px;
  }

  .price-main{
    font-size:38px;
  }

  .price-main.sale{
    font-size:46px;
  }

  .price-save{
    font-size:22px;
  }

  .price-note{
    font-size:14px;
  }

}



.works-item{
  background:#fff;
  border-radius:24px;
  overflow:hidden;
  line-height:0;
  box-shadow:0 8px 24px rgba(0,0,0,.08);
  transition:.3s;
}

.works-item img{
  width:100%;
  height:auto;
  display:block;
}

.works-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
  gap:24px;
  align-items:start;
}


.works-item{
  height:auto;
}


.works-item:hover{
  transform:translateY(-6px);
  box-shadow:0 14px 32px rgba(0,0,0,.12);
}

