    /* ベース */
.wrap{
  width:1080px;
  margin:80px auto;
  padding:28px 20px;
  box-sizing:border-box;
  font-family:"Noto Sans JP",system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Hiragino Kaku Gothic ProN",Meiryo,sans-serif;
  color:#111;
}
    /* セクション */
    .sec{
        position:relative;
        padding:8px 20px 28px 28px;
        margin:40px 0 150px 0;
        border-left:10px solid #111;
    }
    .sec:first-child{margin-top:0;}
    .sec-head{display:flex;align-items:center;gap:16px;flex-wrap:wrap;}
    .sec-ttl{font-size:26px;font-weight:900;letter-spacing:.02em;margin:0;line-height:1.3;}
    .sec-btn{
      margin-left:auto;
      display:inline-flex;
      align-items:center;
      gap:10px;
      border:1px solid #d0d0d0;
      padding:10px 14px;
      border-radius:20px;
      text-decoration:none;
      color:#111;
      background:#fff;
      font-size:14px;
      font-weight: 700;
    }
    .sec-btn:hover{
      background: #b4b4b4;
      color:#fff;
    }
    .sec-lead{
        font-size:14px;
        color:#111;
        margin:8px 0 38px;
        font-weight: 700;
    }

    /* カードグリッド */
    .grid{display:grid; gap:12px;}
    .grid.cols-1{grid-template-columns:1fr;}
    .grid.cols-2{grid-template-columns:1fr 1fr;
    gap: 60px 40px;
    }

    /* カード */
    .card{
      position:relative;
      display:flex;
      align-items:center;
      max-width: 470px;
      min-height:140px;
      border:1px solid #111;
      padding:35px 44px 35px 16px;
      background:#fff;
      text-decoration:none;
      color:#111;
      margin-left:15px;
    }
    .card:hover{
        box-shadow:5px 5px 10px #b4b4b4;
    
    }
    .card-ttl{margin:0;font-size:18px;font-weight:700;line-height:1.5;}
    .card-sub{
        margin:4px 0 0;
        font-size:12px;
        color:#111;
        line-height:1.6;
    }
    .card::after{
      content:"›"; position:absolute; right:14px; top:50%; transform:translateY(-50%);
      font-size:22px; color:#c40000;
    }
    /* 調整（行高が短いカード向け） */
    .card.compact{min-height:60px;padding-top:14px;padding-bottom:14px;}

.hero-seku img{
margin-top:50px;
width:100%;
height:auto;
}
.hero-seku {
display: block;
}
.hero-seku-sp {
display: none;
}
    @media screen and (max-width: 1000px) {
.hero-seku {
display: none;
}
.hero-seku-sp {
display: block;
}
        .grid.cols-2 {
    grid-template-columns: 1fr;
}
.wrap{
  width:100%;
  margin:80px 15px;
  padding:28px 0px;
}
      .card{
      max-width: 100%;
      min-height:140px;
      border:1px solid #111;
      padding:35px 44px 35px 16px;
    }
    .sec {
    position: relative;
    padding: 8px 28px 28px 20px;
    margin: 40px 0 100px 0;
    border-left: 10px solid #111;
}
        }