.bztop-main{
  padding:0;
}

/* topだけ section の共通箱感を解除 */
.bztop-main section{
  margin:0 0 32px;
  padding:0;
  background:none;
  border-radius:0;
}

/* 共通 */
.bz-home-eyebrow{
  margin:0 0 10px;
  font-size:.82rem;
  font-weight:700;
  letter-spacing:.12em;
  color:#a1c349;
  opacity:.9;
}

.bz-home-section-head{
  margin:0 0 18px;
}

.bz-home-section-head h2{
  margin:0;
  font-size:2rem;
  color:#d7e88e;
}

.bz-home-kicker{
  margin:0 0 12px;
  font-size:.85rem;
  letter-spacing:.14em;
  font-weight:700;
  color:#a1c349;
}

.bz-home-title{
  margin:0 0 18px;
  font-size:clamp(2.4rem,5vw,4rem);
  line-height:1.08;
  color:#c4df58;
}

.bz-home-lead{
  max-width:780px;
  font-size:1.08rem;
  line-height:1.9;
  color:#f3f5ea;
}


.bz-btn{
  display:inline-block;
  padding:13px 24px;
  border-radius:10px;
  text-decoration:none;
  font-weight:700;
  transition:.25s ease;
}

.bz-btn-primary{
  background:#a1c349;
  color:#122017;
}

.bz-btn-primary:hover{
  background:#b6d75a;
  color:#122017;
  text-decoration:none;
  transform:translateY(-2px);
}

.bz-btn-secondary{
  background:#33492f;
  color:#f4f7ee;
}

.bz-btn-secondary:hover{
  background:#3f5939;
  color:#fff;
  text-decoration:none;
  transform:translateY(-2px);
}

.bz-text-link{
  display:inline-block;
  margin-top:10px;
  color:#d2ea71;
  font-weight:700;
  text-decoration:none;
}

.bz-text-link:hover{
  color:#fff;
  text-decoration:none;
}

/* hero */
.bz-home-hero{
  display:grid;
  grid-template-columns:minmax(0,1.2fr) minmax(320px,.9fr);
  gap:28px;
  align-items:stretch;
  padding:20px 0 8px;
}

.bz-home-hero-text{
  background:linear-gradient(135deg,rgba(72,93,53,.96),rgba(57,78,44,.92));
  border-radius:16px;
  padding:48px 44px;
  min-height:420px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  box-shadow:0 16px 40px rgba(0,0,0,.16);
}

.bz-home-hero-actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:26px;
}

.bz-home-hero-media{
  min-width:0;
}

.bz-home-hero-media img{
  width:100%;
  height:100%;
  min-height:420px;
  object-fit:cover;
  border-radius:16px;
  box-shadow:0 16px 40px rgba(0,0,0,.18);
}

/* about */
.bz-home-definition{
  background:rgba(28,42,27,.62);
  border-radius:14px;
  padding:30px 34px;
}

.bz-home-definition > p{
  font-size:1.02rem;
  line-height:1.85;
  margin:0 0 18px;
}

.bz-home-points{
  margin:0;
  padding-left:20px;
}

.bz-home-points li{
  margin:0 0 10px;
  color:#f1f1f1;
}

/* entry grid */
.bz-home-entrygrid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:20px;
}

.bz-home-entry{
  position:relative;
  overflow:hidden;
  min-height:220px;
  background:linear-gradient(160deg,#516646 0%,#44593d 100%);
  border-radius:14px;
  box-shadow:0 10px 28px rgba(0,0,0,.14);
  transition:.25s ease;
}

.bz-home-entry:hover{
  transform:translateY(-4px);
  box-shadow:0 18px 34px rgba(0,0,0,.18);
}

.bz-home-entry-body{
  padding:28px 28px 24px;
}

.bz-home-entry h2{
  margin:0 0 10px;
  font-size:1.75rem;
  color:#d7e88e;
}

.bz-home-entry p{
  max-width:38em;
  color:#eef3e7;
}

.bz-home-entry-video{background:linear-gradient(160deg,#556b49 0%,#465d3e 100%);}
.bz-home-entry-series{background:linear-gradient(160deg,#425743 0%,#354a37 100%);}
.bz-home-entry-database{background:linear-gradient(160deg,#5a6d43 0%,#465738 100%);}
.bz-home-entry-blog{background:linear-gradient(160deg,#425c4a 0%,#314739 100%);}

/* series */
.bz-home-series{
  background:rgba(33,48,31,.58);
  border-radius:14px;
  padding:30px 34px;
}

.bz-home-series-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:18px;
}

.bz-series-card{
  background:rgba(255,255,255,.04);
  border-radius:12px;
  padding:20px 18px;

  display:flex;
  flex-direction:column;
}

.bz-series-card a{
  margin-top:auto;
}

.bz-series-card h3{
  margin:0 0 10px;
  font-size:1.18rem;
  color:#d8ec7b;
}

.bz-series-card p{
  margin:0;
  color:#edf2e6;
  font-size:.96rem;
  line-height:1.8;
}
.marginone{
  margin-bottom: 15px;
}

/* latest archive */
.bz-home-latest{
  background:rgba(29,42,27,.58);
  border-radius:14px;
  padding:30px 34px;
}

.bz-home-latest-list{
  display:flex;
  flex-direction:column;
  gap:16px;
}

.bz-archive-row{
  display:grid;
  grid-template-columns:260px minmax(0,1fr);
  gap:18px;
  align-items:start;
  background:rgba(255,255,255,.035);
  border-radius:12px;
  padding:16px;
  transition:.2s ease;
}

.bz-archive-row:hover{
  background:rgba(255,255,255,.055);
}

.bz-archive-thumb{
  display:block;
  width:100%;
  overflow:hidden;
  border-radius:10px;
}

.bz-archive-thumb img{
  width:100%;
  aspect-ratio:16/9;
  object-fit:cover;
  border-radius:10px;
}

.bz-archive-meta{
  min-width:0;
}

.bz-archive-type{
  margin:0 0 8px;
  font-size:.82rem;
  font-weight:700;
  letter-spacing:.08em;
  color:#bdd85a;
}

.bz-archive-meta h3{
  margin:0 0 10px;
  font-size:1.3rem;
  line-height:1.35;
}

.bz-archive-meta h3 a{
  color:#f5f7ef;
  text-decoration:none;
}

.bz-archive-meta h3 a:hover{
  color:#d7e88e;
}

.bz-archive-desc{
  margin:0;
  color:#e6ece0;
  line-height:1.8;
}

.bz-home-more{
  margin:24px 0 0;
}

/* detail policy */
.bz-home-archive-policy{
  background:rgba(35,48,31,.58);
  border-radius:14px;
  padding:30px 34px;
}

.bz-home-mini-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:16px;
  margin-top:20px;
}

.bz-mini-card{
  background:rgba(255,255,255,.04);
  border-radius:12px;
  padding:18px;
}

.bz-mini-card h3{
  margin:0 0 8px;
  font-size:1.05rem;
  color:#d8ec7b;
}

.bz-mini-card p{
  margin:0;
  font-size:.95rem;
  color:#eef2e8;
}

/* external */
.bz-home-external{
  background:rgba(27,39,25,.58);
  border-radius:14px;
  padding:30px 34px;
}

.bz-home-external-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
}

.bz-external-card{
  background:rgba(255,255,255,.04);
  border-radius:12px;
  padding:22px 20px;
}

.bz-external-card h3{
  margin:0 0 10px;
  color:#d8ec7b;
}

.bz-external-card p{
  margin:0;
  color:#edf2e6;
}

/* main 幅が狭く見えすぎる時の補正 */
.layout > .main.bztop-main{
  width:100%;
  min-width:0;
}

/* 1280以下 */
@media (max-width:1280px){
  .bz-home-hero{
    grid-template-columns:1fr;
  }

  .bz-home-hero-media img{
    min-height:320px;
  }

  .bz-home-series-grid,
  .bz-home-mini-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

/* 960以下 */
@media (max-width:960px){
  .bz-home-entrygrid,
  .bz-home-external-grid{
    grid-template-columns:1fr;
  }

  .bz-home-series-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .bz-archive-row{
    grid-template-columns:1fr;
  }

  .bz-archive-thumb img{
    width:100%;
  }
}

/* 640以下 */
@media (max-width:640px){
  .bz-home-title{
    font-size:2.1rem;
  }

  .bz-home-hero-text,
  .bz-home-definition,
  .bz-home-series,
  .bz-home-latest,
  .bz-home-archive-policy,
  .bz-home-external{
    padding:22px 18px;
    border-radius:12px;
  }

  .bz-home-entry{
    border-radius:12px;
    min-height:auto;
  }

  .bz-home-entry-body{
    padding:22px 18px;
  }

  .bz-home-entry h2{
    font-size:1.45rem;
  }

  .bz-home-series-grid,
  .bz-home-mini-grid,
  .bz-home-external-grid{
    grid-template-columns:1fr;
  }

  .bz-home-hero-actions{
    flex-direction:column;
  }

  .bz-btn{
    width:100%;
    text-align:center;
    box-sizing:border-box;
  }
}
/* CTA（ビザプランド導線） */
.bz-home-cta{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(420px,640px);
  gap:28px;
  align-items:center;
  margin:40px 0;
}

.bz-home-cta-text{
  display:flex;
  flex-direction:column;
  justify-content:center;
}

.bz-home-cta-text h2{
  margin:0 0 22px;
  font-size:clamp(1rem,2vw,1.5rem);
  line-height:1.25;
  color:#e8f3a1;
}

.bz-home-cta-media img{
  width:100%;
  aspect-ratio:16/9;
  object-fit:cover;
  border-radius:8px;
}
/* CTA reverse（左動画・右テキスト） */
.bz-home-cta{
  display:grid;
  grid-template-columns:minmax(420px,640px) minmax(0,1fr);
  gap:28px;
  align-items:center;
  margin:40px 0;
}

.bz-home-cta-media video{
  width:100%;
  height:100%;
  aspect-ratio:16/9;
  object-fit:cover;
  border-radius:8px;
}

.bz-home-cta-text{
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.bz-btn-new{
  background:#a1c349;
  color:#122017;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:10px 16px;
  border-radius:6px;
  font-size:.9rem;
  font-weight:600;
  margin-left: 100px;
  margin-right: 100px;
  width:auto;
}
@media (max-width:960px){
  .bz-home-cta{
    grid-template-columns:1fr;
  }

  .bz-home-cta-media img{
    aspect-ratio:16/9;
  }
  .bz-home-cta{
  grid-template-columns:1fr;
}

.bz-home-cta-media video{
  aspect-ratio:16/9;
}
}



.bztop-author{
    padding:30px; /* ← 外枠の余白追加 */
    background:#cfd8cf; /* ← 薄い外背景（重要） */
    border-radius:24px;
}

.bztop-author-inner{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:40px;
    padding:40px;
    background:#4c5c44;
    border-radius:20px;
    box-shadow:0 12px 30px rgba(0,0,0,.2);
}

.bztop-author-profile{flex:1 1 60%}

.bztop-author-image{
    flex:0 0 300px;
    display:flex;
    justify-content:center;
}

.bztop-author-image img{
    width:100%;
    max-width:300px;
    border-radius:16px;
    background:#e6ede6; /* ← 白っぽい背景追加 */
    padding:16px; /* ← 画像カード感 */
    box-shadow:0 10px 24px rgba(0,0,0,.25);
}

.bztop-author-table{
    width:100%;
    border-collapse:collapse;
    background:rgba(255,255,255,.08);
    border-radius:14px;
    overflow:hidden;
}

.bztop-author-table th,
.bztop-author-table td{
    padding:16px 18px;
    border-bottom:1px solid rgba(255,255,255,.12);
    font-size:1rem;
}

.bztop-author-table th{
    width:140px;
    color:#d7efb1;
    font-weight:700;
    background:rgba(0,0,0,.12);
}

.bztop-author-table td{
    color:#f5f5f5;
}
@media (max-width:768px){

.bztop-author{
    padding:14px;
    border-radius:18px;
}

.bztop-author-inner{
    flex-direction:column;
    gap:18px;
    padding:18px;
    border-radius:18px;
}

.bztop-author-profile{
    width:100%;
}

.bztop-author-table{
    background:rgba(255,255,255,.05);
    border-radius:14px;
    overflow:hidden;
}

.bztop-author-table,
.bztop-author-table tbody,
.bztop-author-table tr,
.bztop-author-table th,
.bztop-author-table td{
    display:block;
    width:100%;
}

.bztop-author-table tr{
    padding:12px 14px;
    border-bottom:1px solid rgba(255,255,255,.08);
}

.bztop-author-table tr:last-child{
    border-bottom:none;
}

.bztop-author-table th,
.bztop-author-table td{
    padding:0;
    border:none;
    background:none;
    width:auto;
    font-size:.95rem;
    line-height:1.7;
}

.bztop-author-table th{
    color:#d7efb1;
    font-weight:700;
    margin-bottom:2px;
}

.bztop-author-table th::after{
    content:"｜";
    margin:0 .45em;
    color:rgba(255,255,255,.35);
}

.bztop-author-table td{
    display:inline;
    color:#f5f5f5;
}

.bztop-author-table th{
    display:inline;
}

.bztop-author-image{
    flex:none;
    width:100%;
    justify-content:center;
}

.bztop-author-image img{
    max-width:240px;
    padding:12px;
    border-radius:14px;
}
}

}
