/* ============================================================
   line-campaign.css — LINE追加キャンペーンセクション
   ============================================================ */

.line-section{background:#f3faf5;}

.line-wrap{
  max-width:1000px; margin:0 auto;
  border-radius:var(--radius-lg);
  overflow:hidden;
}

.line-top{
  display:grid; grid-template-columns:1.1fr 1fr; gap:0;
  align-items:center;
}
.line-top-text{padding:44px;}
.line-tag{color:#1a8f4c !important; font-weight:700; font-size:18px; margin-bottom:18px;}
.line-top-text h3{font-size:38px; font-weight:900; line-height:1.3; margin-bottom:20px;}
.line-top-text p{font-size:18px; color:var(--text-sub);}
.line-photo{
  aspect-ratio:4/3;
  background:repeating-linear-gradient(45deg,#dcf0e2 0,#dcf0e2 8px,#cce8d5 8px,#cce8d5 16px);
  display:flex; align-items:center; justify-content:center;
  color:#6fa884; font-size:16px;
  margin:30px;
  border-radius:var(--radius-md);
}
.line-photo--filled{
  aspect-ratio:0.985/1;
  background:none;
  padding:0;
}
.line-photo--filled img{
  width:100%;
  height:100%;
  object-fit:cover;
  border-radius:var(--radius-md);
  display:block;
}

.line-steps{padding:8px 44px 44px;}
.line-step{
  display:flex; align-items:center; gap:22px;
  background:var(--white);
  border:1px solid #e7f3ea;
  border-radius:var(--radius-md);
  padding:18px 22px;
  margin-bottom:18px;
  box-shadow:0 2px 10px rgba(20,90,40,0.04);
}
.line-num{
  flex:0 0 auto; width:40px; height:40px; border-radius:50%;
  background:var(--green); color:#fff; font-weight:800; font-size:16px;
  display:flex; align-items:center; justify-content:center;
}
.line-step-img{
  flex:0 0 auto; width:200px; height:120px; border-radius:10px;
  background:repeating-linear-gradient(45deg,#dcf0e2 0,#dcf0e2 6px,#cce8d5 6px,#cce8d5 12px);
  display:flex; align-items:center; justify-content:center;
  color:#6fa884; font-size:13px; text-align:center;
}
.line-step-text{font-size:18px; font-weight:600;}

.btn-line{
  display:block; width:fit-content; margin:30px auto 0;
  background:var(--green); color:#fff; font-weight:800; font-size:18px;
  padding:16px 36px; border-radius:999px;
  box-shadow:0 8px 20px rgba(26,143,76,0.3);
  transition:transform 0.2s ease;
}
.btn-line:hover{transform:translateY(-2px);}

@media(max-width:880px){
  .line-top{grid-template-columns:1fr;}
  .line-top-text{padding:30px 24px 0;}
  .line-steps{padding:8px 24px 30px;}
}

@media(max-width:600px){
  .line-step{
    flex-wrap:wrap;
    row-gap:14px;
  }
  .line-num{
    order:1;
  }
  .line-step-img{
    order:3;
    width:100%;
    height:150px;
    margin-top:4px;
  }
  .line-step-text{
    order:2;
    flex:1 1 auto;
    min-width:0;
    font-size:16px;
  }
}
