/* ========================================
   ゴージャスLP共通
======================================== */

.lux-inner{
  max-width:1180px;
  margin:0 auto;
  padding:0 20px;
}

.lux-section{
  padding:90px 0;
  background:#ffffff;
}

.lux-section-title{
  text-align:center;
  margin-bottom:50px;
}

.lux-section-title p{
  margin:0 0 12px;
  font-size:13px;
  letter-spacing:0.18em;
  color:#b1703a;
  font-weight:700;
}

.lux-section-title h2{
  margin:0;
  font-size:36px;
  line-height:1.5;
  color:#202020;
  font-weight:800;
}

.lux-section-title.light p,
.lux-section-title.light h2{
  color:#ffffff;
}

/* ========================================
   ヒーロー
======================================== */

.lux-hero{
  position:relative;
  min-height:720px;
  display:flex;
  align-items:center;
  background:url('/picture/aki-tenpo-main.jpg') center center / cover no-repeat;
  overflow:hidden;
}

.lux-hero-overlay{
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg,rgba(20,14,10,0.86) 0%,rgba(20,14,10,0.62) 48%,rgba(20,14,10,0.28) 100%),
    radial-gradient(circle at 25% 40%,rgba(177,112,58,0.32),transparent 34%);
  z-index:1;
}

.lux-hero-inner{
  position:relative;
  z-index:2;
  max-width:1180px;
  width:100%;
  margin:0 auto;
  padding:90px 20px;
}

.lux-eyebrow{
  display:inline-block;
  margin:0 0 22px;
  padding:9px 18px;
  border:1px solid rgba(255,255,255,0.45);
  color:#f5d8b9;
  font-size:12px;
  letter-spacing:0.18em;
  font-weight:700;
}

.lux-hero h1{
  margin:0 0 28px;
  font-size:56px;
  line-height:1.35;
  color:#ffffff;
  font-weight:900;
  text-shadow:0 4px 20px rgba(0,0,0,0.35);
}

.lux-lead{
  max-width:850px;
  margin:0 0 34px;
  color:#f4f0eb;
  font-size:18px;
  line-height:2;
}

.lux-hero-badges{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin:0 0 38px;
}

.lux-hero-badges span{
  display:inline-block;
  padding:11px 18px;
  background:rgba(255,255,255,0.12);
  border:1px solid rgba(255,255,255,0.35);
  color:#ffffff;
  border-radius:999px;
  font-size:14px;
  font-weight:700;
  backdrop-filter:blur(6px);
}

/* ========================================
   ボタン
======================================== */

.lux-buttons{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:16px;
}

.lux-buttons.left{
  justify-content:flex-start;
}

.lux-btn{
  display:inline-block;
  padding:18px 34px;
  border-radius:999px;
  text-decoration:none;
  font-size:16px;
  font-weight:800;
  transition:0.3s ease;
}

.lux-btn.primary{
  background:linear-gradient(135deg,#c78645,#9c5d28);
  color:#ffffff;
  box-shadow:0 12px 28px rgba(156,93,40,0.28);
}

.lux-btn.secondary{
  background:#ffffff;
  color:#2b2118;
  box-shadow:0 12px 28px rgba(0,0,0,0.15);
}

.lux-btn:hover{
  transform:translateY(-3px);
  opacity:0.88;
}

/* ========================================
   悩み
======================================== */

.lux-intro{
  padding:90px 0;
  background:linear-gradient(180deg,#fffaf5 0%,#ffffff 100%);
}

.lux-trouble-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:24px;
}

.lux-trouble-card{
  position:relative;
  padding:34px 28px;
  background:#ffffff;
  border-radius:22px;
  box-shadow:0 14px 34px rgba(0,0,0,0.07);
  border:1px solid #f0e2d3;
}

.lux-trouble-card span{
  display:inline-block;
  margin-bottom:18px;
  color:#b1703a;
  font-size:13px;
  letter-spacing:0.12em;
  font-weight:800;
}

.lux-trouble-card h3{
  margin:0 0 14px;
  font-size:22px;
  color:#242424;
}

.lux-trouble-card p{
  margin:0;
  font-size:15px;
  line-height:1.9;
  color:#555555;
}

/* ========================================
   分割セクション
======================================== */

.lux-split{
  padding:100px 0;
  background:#ffffff;
}

.lux-split.reverse{
  background:#fbf7f1;
}

.lux-split-inner{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:56px;
  align-items:center;
}

.lux-mini{
  margin:0 0 12px;
  color:#b1703a;
  font-size:13px;
  letter-spacing:0.16em;
  font-weight:800;
}

.lux-split-text h2,
.lux-two-column h2{
  margin:0 0 24px;
  font-size:36px;
  line-height:1.5;
  color:#202020;
}

.lux-split-text p,
.lux-two-column p{
  margin:0 0 20px;
  font-size:16px;
  line-height:2;
  color:#444444;
}

.lux-photo-card{
  overflow:hidden;
  border-radius:28px;
  box-shadow:0 20px 48px rgba(0,0,0,0.14);
}

.lux-photo-card img{
  width:100%;
  height:100%;
  min-height:360px;
  object-fit:cover;
  display:block;
}

/* ========================================
   ダークセクション
======================================== */

.lux-dark{
  padding:95px 0;
  background:
    linear-gradient(135deg,rgba(37,28,21,0.96),rgba(87,52,27,0.94)),
    url('/picture/aki-tenpo-main.jpg') center center / cover no-repeat;
}

.lux-dark-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:24px;
}

.lux-dark-card{
  padding:34px 28px;
  background:rgba(255,255,255,0.09);
  border:1px solid rgba(255,255,255,0.18);
  border-radius:22px;
  backdrop-filter:blur(7px);
}

.lux-dark-card h3{
  margin:0 0 18px;
  font-size:22px;
  color:#ffffff;
}

.lux-dark-card p{
  margin:0;
  font-size:15px;
  line-height:2;
  color:#f1e6da;
}

/* ========================================
   チェックリスト
======================================== */

.lux-check-list{
  margin:24px 0 0;
  padding:0;
  list-style:none;
}

.lux-check-list li{
  position:relative;
  margin-bottom:14px;
  padding-left:30px;
  font-size:16px;
  line-height:1.7;
  color:#333333;
  font-weight:700;
}

.lux-check-list li::before{
  content:"";
  position:absolute;
  left:0;
  top:7px;
  width:14px;
  height:14px;
  background:#b1703a;
  border-radius:50%;
}

/* ========================================
   特徴カード
======================================== */

.lux-feature-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:22px;
}

.lux-feature-card{
  padding:32px 24px;
  background:#ffffff;
  border-radius:22px;
  border:1px solid #eee2d6;
  box-shadow:0 12px 30px rgba(0,0,0,0.06);
}

.lux-feature-card h3{
  margin:0 0 16px;
  font-size:21px;
  color:#2a2a2a;
}

.lux-feature-card p{
  margin:0;
  font-size:15px;
  line-height:1.9;
  color:#555555;
}

/* ========================================
   画像帯
======================================== */

.lux-image-band{
  padding:115px 20px;
  background:
    linear-gradient(rgba(25,18,13,0.68),rgba(25,18,13,0.68)),
    url('/picture/aki-tenpo-inuki.jpg') center center / cover no-repeat;
  text-align:center;
}

.lux-image-band-inner p{
  margin:0 0 12px;
  color:#f5d8b9;
  font-size:13px;
  letter-spacing:0.18em;
  font-weight:800;
}

.lux-image-band-inner h2{
  margin:0;
  color:#ffffff;
  font-size:40px;
  line-height:1.5;
  font-weight:900;
}

/* ========================================
   2カラム
======================================== */

.lux-two-column{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:56px;
  align-items:center;
}

/* ========================================
   料金
======================================== */

.lux-price{
  padding:95px 0;
  background:linear-gradient(135deg,#2d2118,#68401f);
}

.lux-price-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:24px;
}

.lux-price-card{
  padding:36px 26px;
  background:#ffffff;
  border-radius:24px;
  text-align:center;
  box-shadow:0 16px 36px rgba(0,0,0,0.18);
}

.lux-price-card.main{
  transform:translateY(-14px);
  background:linear-gradient(135deg,#fff7ed,#ffffff);
  border:2px solid #d6a86f;
}

.price-label{
  margin:0 0 16px;
  color:#b1703a;
  font-size:13px;
  letter-spacing:0.12em;
  font-weight:800;
}

.lux-price-card h3{
  margin:0 0 18px;
  font-size:32px;
  color:#2a2a2a;
}

.lux-price-card p{
  margin:0;
  font-size:15px;
  line-height:1.9;
  color:#555555;
}

/* ========================================
   流れ
======================================== */

.lux-flow{
  padding:95px 0;
  background:#fbf7f1;
}

.lux-flow-list{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:24px;
}

.lux-flow-item{
  padding:32px 26px;
  background:#ffffff;
  border-radius:22px;
  box-shadow:0 12px 28px rgba(0,0,0,0.06);
}

.lux-flow-item span{
  display:inline-block;
  margin-bottom:16px;
  color:#b1703a;
  font-size:14px;
  letter-spacing:0.12em;
  font-weight:900;
}

.lux-flow-item h3{
  margin:0 0 14px;
  font-size:22px;
  color:#252525;
}

.lux-flow-item p{
  margin:0;
  font-size:15px;
  line-height:1.9;
  color:#555555;
}

/* ========================================
   FAQ
======================================== */

.lux-faq{
  padding:95px 0;
  background:#ffffff;
}

.lux-faq-box{
  max-width:900px;
  margin:0 auto 20px;
  padding:28px 32px;
  background:#ffffff;
  border-radius:20px;
  border:1px solid #eee2d6;
  box-shadow:0 10px 26px rgba(0,0,0,0.05);
}

.lux-faq-box h3{
  margin:0 0 14px;
  font-size:20px;
  color:#2a2a2a;
}

.lux-faq-box p{
  margin:0;
  font-size:15px;
  line-height:1.9;
  color:#555555;
}

/* ========================================
   最終CTA
======================================== */

.lux-final-cta{
  padding:110px 20px;
  background:
    linear-gradient(rgba(31,22,15,0.76),rgba(31,22,15,0.76)),
    url('/picture/aki-tenpo-cta.jpg') center center / cover no-repeat;
  text-align:center;
}

.lux-final-inner{
  max-width:980px;
  margin:0 auto;
}

.lux-final-inner > p:first-child{
  margin:0 0 14px;
  color:#f5d8b9;
  font-size:13px;
  letter-spacing:0.18em;
  font-weight:800;
}

.lux-final-inner h2{
  margin:0 0 24px;
  color:#ffffff;
  font-size:42px;
  line-height:1.55;
  font-weight:900;
}

.lux-final-text{
  margin:0 0 34px;
  color:#f5eee8;
  font-size:17px;
  line-height:2;
}

/* ========================================
   レスポンシブ
======================================== */

@media (max-width:1000px){

  .lux-trouble-grid,
  .lux-dark-grid,
  .lux-feature-grid,
  .lux-price-grid,
  .lux-flow-list{
    grid-template-columns:1fr 1fr;
  }

  .lux-split-inner,
  .lux-two-column{
    grid-template-columns:1fr;
  }

  .lux-price-card.main{
    transform:none;
  }

}

@media (max-width:768px){

  .lux-hero{
    min-height:auto;
  }

  .lux-hero-inner{
    padding:80px 20px;
  }

  .lux-hero h1{
    font-size:36px;
  }

  .lux-lead{
    font-size:16px;
  }

  .lux-section,
  .lux-intro,
  .lux-split,
  .lux-dark,
  .lux-price,
  .lux-flow,
  .lux-faq{
    padding:65px 0;
  }

  .lux-section-title h2,
  .lux-split-text h2,
  .lux-two-column h2{
    font-size:28px;
  }

  .lux-image-band-inner h2,
  .lux-final-inner h2{
    font-size:30px;
  }

  .lux-buttons{
    flex-direction:column;
    align-items:center;
  }

  .lux-buttons.left{
    align-items:flex-start;
  }

  .lux-btn{
    width:100%;
    max-width:360px;
    text-align:center;
  }

}

@media (max-width:600px){

  .lux-trouble-grid,
  .lux-dark-grid,
  .lux-feature-grid,
  .lux-price-grid,
  .lux-flow-list{
    grid-template-columns:1fr;
  }

  .lux-hero h1{
    font-size:30px;
  }

  .lux-hero-badges span{
    font-size:13px;
  }

  .lux-photo-card img{
    min-height:260px;
  }

  .lux-trouble-card,
  .lux-dark-card,
  .lux-feature-card,
  .lux-price-card,
  .lux-flow-item,
  .lux-faq-box{
    padding:26px 22px;
  }

}