@font-face {
  font-family: 'ZenMaruGothic';
  src: url('/assets/fonts/zen-maru-gothic/zenmaru-regular.woff2') format('woff2'),
       url('/assets/fonts/zen-maru-gothic/zenmaru-regular.ttf') format('truetype'); /* フォールバックとしてTTFも */
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}


@font-face {
  font-family: 'ZenMaruGothic';
  src: url('/assets/fonts/Zen-Maru-Gothic/ZenMaruGothic-Medium.woff2') format('woff2'),
       url('/assets/fonts/zen-maru-gothic/zenmaru--Medium.ttf') format('truetype'); /* フォールバックとしてTTFも */
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Quicksand';
  src: url('/assets/fonts/Quicksand/Quicksand_aa.woff2') format('woff2');
       /* url('/assets/fonts/Quicksand/ZenMaruGothic-Bold.ttf') format('truetype'); */
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}

body {
  /* font-family: 'ZenMaruGothic', 'Hiragino Maru Gothic ProN', 'Yu Gothic', 'メイリオ', sans-serif !important; */
  font-family: 'Quicksand', 'Zen Maru Gothic', sans-serif !important;
}



/* ===== Community Service / Lecture: simple timeline layout ===== */
.timeline {
  max-width: 980px;
  margin: 0 auto 3rem;
  padding: 0 1rem;
  background-color: #ffffff !important;
}

/* 見出しの日本語・英語行を縦積みに */
.page-community .timeline h3 .ja,
.page-community .timeline h3 .en {
  display: block !important;
}
.page-community .timeline h3 .ja { margin-bottom: 0em; }

/* 日本語ラベル */
.page-community .timeline h3 .ja {
  font-size: 2.0rem !important;
  color: #333 !important;
  font-family: 'Quicksand','ZenMaruGothic',system-ui,sans-serif !important;
}

/* 英語ラベル */
.page-community .timeline h3 .en {
  font-size: 1.0rem !important;
  color: #327a63 !important;
  font-weight: 500 !important;
  letter-spacing: 0.02em !important;
  font-family: 'Quicksand','ZenMaruGothic',system-ui,sans-serif !important;
}


.year-block {
  display: grid;
  grid-template-columns: 140px 1fr;
  column-gap: 28px;
  padding: 22px 0;
  border-top: 1px solid #020f15;
  background-color: #ffffff !important; /* 背景色を強制的に適用 */
}
.year-block:first-of-type { border-top: 1px solid #00080b; }
.year {
  color: #327a63 !important;
  font-family: 'Quicksand', 'Zen Maru Gothic', sans-serif !important;
  font-size: 1.1em;
  font-weight: 700;
  letter-spacing: .08em;
}
.items {
  list-style: disc;
  padding-left: 1.2rem;
  margin: 0;
  background-color: #ffffff !important; /* 背景色を強制的に適用 */
}
.items li { margin: .55rem 0; }



/* \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ */
.site-footer.custom-footer{
  position: relative;
  /* background-image: url('/assets/img/footer-bg.png'); */
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  background-color: transparent;
  height: 500px;

  /* color: #333;
  font-size: 0.9rem; */
  text-align: left;

  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  padding: 20px 40px;
}
.site-footer.custom-footer p{
  margin: 0 0 5px 0;
  text-align: left;
}


.custom-footer small {
  margin: 0;
  text-align: left;
}


body {
  /* background-color: #a9c5bc  !important; 背景色を設定 */
   background-image: url('/assets/img/body_back_b.png') !important;
  /* ヘッダー分だけ下に余白を作り、背景が下から始まるように見せる */
  /* padding-top: 1000px; ← ヘッダーの高さに合わせて調整（例：900px〜1000px） */


  background-repeat: no-repeat !important;
  background-position: center top !important;

  /* 模様を全体に見せたい＝縮小したい場合は 900px 等の数値指定が安全 */
  background-size: 1500px auto !important;
  /* background-size: cover !important; */

  /* Safariの描画崩れ回避：fixedは使わない */
  background-attachment: scroll !important;

  /* フォールバック色 */
  background-color: #dff5ed !important;
}

main {
  background-color: #ffffff !important; /* 背景色を強制的に適用 */
  margin-top: 50px  !important; /* ヘッダーとの間隔を空ける */
  margin-bottom: 50px  !important; /* フッターとの間隔を空ける */
  padding: 70px !important;      /* 内側の余白を調整（お好みで調整） */
}
@media (max-width: 640px) {

.year-block {
    grid-template-columns: 1fr;
    row-gap: .4rem;
  }
.year { 
  font-size: 1.05rem; 
  }  


main {
  background-color: #ffffff !important;  /* 背景色を強制的に適用*/
  margin-top: 50px  !important;  /* ヘッダーとの間隔を空ける */
  margin-bottom: 50px  !important; /* フ ッターとの間隔を空ける*/
  padding: 20px 40px !important;      /*内側の余白を調整（お好みで調整） */
 }
}
