body{
  margin:0;
  font-family:"Helvetica Neue", sans-serif;
  background:#f3f3f3;
  color:#111;
}

.close-main{
  padding-bottom:80px;
}

/* HERO */
.close-hero{
  background: linear-gradient(135deg, #111, #2b2b2b);
  color:#fff;
  padding:80px 20px 60px;
  text-align:center;
}

.close-badge{
  display:inline-block;
  padding:6px 14px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,0.6);
  font-size:0.8rem;
  letter-spacing:.2em;
  margin-bottom:15px;
}

.close-hero h1{
  margin:0 0 15px;
  font-size:2rem;
}

.close-lead{
  opacity:.9;
  line-height:1.8;
}

/* メッセージボックス */
.close-message{
  max-width:800px;
  margin: -40px auto 0;
  padding:0 20px;
}

.close-box{
  background:#fff;
  border-radius:20px;
  padding:40px 25px;
  box-shadow:0 20px 40px rgba(0,0,0,0.08);
  text-align:center;
}

.close-box h2{
  margin-top:0;
  font-size:1.5rem;
}

.close-box p{
  line-height:1.9;
  margin:15px 0;
  color:#444;
}

/* CTA */
.close-cta{
  margin-top:25px;
  display:flex;
  gap:15px;
  justify-content:center;
  flex-wrap:wrap;
}

.btn-main{
  background:linear-gradient(135deg,#ff3f8f,#8f6cff);
  color:#fff;
  padding:12px 28px;
  border-radius:999px;
  text-decoration:none;
  font-weight:700;
  box-shadow:0 8px 20px rgba(255,80,130,.35);
}

.btn-sub{
  background:#eee;
  color:#111;
  padding:12px 28px;
  border-radius:999px;
  text-decoration:none;
  font-weight:600;
}

.btn-main:hover{
  transform:translateY(-2px);
}

@media (max-width:768px){
  .close-box{
    padding:30px 20px;
  }
  .btn-main,
  .btn-sub{
    width:100%;
    text-align:center;
  }
}
