/* ----------------------------
   1. Hero Section
-----------------------------*/
#fv_child {
  padding: 150px 0;
}
.hero {
  padding-block: 6rem;
}
/* HTML に <div class="hero__wrapper">… がある想定 */
.hero__wrapper {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 3rem;
  align-items: center;
}
.hero__image {
  width: 100%;
  height: auto;
  object-fit: cover;
}

.hero__content h2 {
  margin-bottom: 50px;
  font-size: 64px;
}
.hero__content h4 {
  font-size: 24px;
  margin-bottom: 30px;
}
@media (max-width: 480px) {
  .hero__wrapper {
    grid-template-columns: 1fr;
  }
  .hero__image {
    order: 1; /* 画像を先頭に */
  }
  #fv_child {
    padding: 0;
    padding-top: 50px;
    padding-bottom: 50px;
    }
  .hero__content h2 {
    margin-bottom: 50px;
    font-size: 40px;
}
.hero__content h4 {
    margin-bottom: 25px;
}
}


/* ----------------------------
   2. Column
-----------------------------*/
#column {
  background-color: #F5F5F5;
  padding: 100px 0;
}
#column .section-title__image {
  width: 720px;
  max-width: 100%;
}
.column-cards {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}
.column-card {
  max-width: 400px;
  padding: 30px 20px;
  background-color: #fff;
}
.column-card__title {
  font-size: 24px;
}
.column-card_comment {
  font-size: 14px;
  color: #919191;
}
.column-card__body {
  border-top: 1px solid #006036;
  padding-top: 20px;
}
.btn__wrap {
  max-width: 230px;
  height: auto;
  text-align: center;
}
.btn__wrap a {
  color: #fff;
  background-color: #006036;
  padding: 18px 38px;
  display: block;
}

/* ===== “記事がまだありません” デコ ===== */
.no-posts{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  margin:80px 0;
  padding:48px 24px;
  border:2px dashed #d6c79a;   /* くすみゴールド */
  background:#faf9f6;
  border-radius:8px;
}
.no-posts__icon{
  font-size:48px;
  line-height:1;
  margin-bottom:16px;
  color:#d6c79a;
}
.no-posts__text{
  font-size:18px;
  font-weight:700;
  letter-spacing:0.05em;
  color:#333;
}
@media(max-width:768px){
  .no-posts{
    margin:40px 0;
    padding:32px 16px;
  }
  .no-posts__text{ font-size:16px; }
}
@media (max-width: 480px) {
  #column {
      background-color: #F5F5F5;
      padding: 70px 0;
  }
  .column-cards {
    display: flex;
    justify-content: normal;
    align-items: normal;
    flex-direction: column;
    gap: 1rem;
}
}

/* ===== 個別記事デザイン ===== */
.single-hero{
  padding:60px 0 40px;
  background:#faf9f6 url('../img/grid_bg.svg') repeat;
}
.single-title{
  font-family:"Noto Serif JP", serif;
  font-size:28px;
  font-weight:700;
  margin-bottom:16px;
}
.single-sub{
  font-size:20px;
  line-height:1.6;
  color:#666;
}
.single-body{
  padding:80px 0;
  background-color: #faf9f6;
}
.single-body img{ max-width:100%; height:auto; margin:32px 0; }
.single-body h2{ font-size:22px; margin:48px 0 24px; }
.single-body p{ margin-bottom:24px; }

@media(max-width:768px){
  .single-title{ font-size:22px; }
  .single-sub{ font-size:16px; }
  .single-body{ padding:0; }
}
