@charset "utf-8";
/* ============================================================
   プログラム一覧（表形式）CSS
   子テーマ移行版：astra-child/css/program-list-table.css
   旧WPCode「プログラム一覧CSS」（ID 32766）
   ※ [yamanoha_programs] ショートコード（program-list-table-shortcode.php）が出力する
     表のスタイル。Wooツアーカードのグリッド表示（program-list-card.css）とは別物。
   ※元はPHPでwp_head出力されていたが、動的処理が無いため.cssファイル化した
============================================================ */

.ymnh-program-header {
  display: grid;
  grid-template-columns: 160px 1fr 90px 40px 70px 110px;
  gap: 0;
  background: #004038;
  color: #FFFFFF !important;
  font-size: 12px;
  font-weight: 500;
  padding: 10px 8px;
  letter-spacing: 0.05em;
}
.ymnh-program-header div {
  color: #FFFFFF !important;
}
.ymnh-program-list {
  width: 100%;
  font-family: "Noto Sans JP", sans-serif;
  color: #484848;
  overflow-x: hidden;
}
.ymnh-month-heading {
  background-color: #E0F0ED;
  color: #004038;
  font-size: 16px;
  font-weight: 500;
  padding: 8px 16px;
  margin: 24px 0 0 0;
  border-left: 4px solid #558B2F;
  letter-spacing: 0.05em;
}
.ymnh-program-row {
  display: grid;
  grid-template-columns: 160px 1fr 90px 40px 70px 110px;
  gap: 0;
  border-bottom: 1px solid #D0D0D0;
  padding: 12px 8px;
  align-items: center;
  background: #FFFFFF;
}
.ymnh-program-row:nth-child(even) {
  background: #FFFFFF;
}
.ymnh-program-row:hover {
  background: #EAF3DC;
  transition: background 0.2s ease;
}
.ymnh-col-date {
  font-size: 13px;
  color: #6B6B6B;
  padding-right: 8px;
  white-space: nowrap;
}
.ymnh-col-name {
  font-size: 14px;
  line-height: 1.6;
  padding-right: 12px;
}
.ymnh-col-name a {
  color: #004038;
  text-decoration: none;
  border-bottom: 1px solid #558B2F;
}
.ymnh-col-name a:hover {
  color: #558B2F;
  border-bottom-color: #558B2F;
}
.ymnh-col-field {
  font-size: 12px;
  color: #6B6B6B;
  padding-right: 8px;
}
.ymnh-col-days {
  font-size: 12px;
  color: #6B6B6B;
  text-align: center;
}
.ymnh-col-grade {
  font-size: 11px;
  color: #FFFFFF;
  background: #004038;
  border-radius: 2em !important;
  padding: 1px 3px !important;
  text-align: center;
  white-space: nowrap;
  line-height: 1.3 !important;
}
.ymnh-col-price {
  font-size: 14px;
  color: #004038;
  font-weight: 600;
  text-align: right;
  white-space: normal;
  word-break: break-all;
  line-height: 1.5;
}
.ymnh-program-header .ymnh-col-price {
  font-size: 12px;
  font-weight: 500;
}
/* ラベル（モバイルのみ表示） */
.ymnh-label-sp {
  display: none;
}
/* モバイル */
@media (max-width: 768px) {
  .ymnh-program-header {
    display: none;
  }
  .ymnh-program-list {
    overflow-x: hidden;
  }
  .ymnh-program-row {
    display: block !important;
    padding: 14px 12px;
    border-bottom: 1px solid #D0D0D0;
    background: #FFFFFF;
    box-sizing: border-box;
    width: 100%;
  }
  .ymnh-program-row:nth-child(even) {
    background: #F5F3EF;
  }
  .ymnh-col-date {
    display: block;
    font-size: 12px;
    color: #6B6B6B;
    margin-bottom: 4px;
    white-space: normal;
  }
  .ymnh-col-name {
    display: block;
    font-size: 14px;
    font-weight: 500;
    line-height: 1.6;
    margin-bottom: 8px;
    word-break: break-all;
    white-space: normal;
    padding-right: 0;
  }
  .ymnh-col-field,
  .ymnh-col-days,
  .ymnh-col-grade {
    display: inline-block;
    font-size: 12px;
    margin-right: 8px;
    margin-top: 4px;
  }
  .ymnh-col-grade {
    padding: 2px 8px !important;
    border-radius: 4px !important;
  }
  .ymnh-col-price {
    display: block;
    font-size: 12px;
    font-weight: 500;
    color: #004038;
    margin-top: 4px;
    text-align: left;
    white-space: normal;
  }
  .ymnh-label-sp {
    display: inline;
  }
}
/* 印刷用 */
@media print {
  #masthead,
  .site-header,
  .main-header-bar,
  header.site-header,
  .hfe-nav-menu,
  #site-footer,
  .site-footer,
  footer.site-footer,
  .footer-widget-area {
    display: none !important;
  }
  nav,
  .breadcrumbs,
  .ast-breadcrumbs-wrapper {
    display: none !important;
  }
  .ymnh-program-list {
    font-size: 11px;
    margin-top: 0;
  }
  .ymnh-program-row {
    grid-template-columns: 130px 1fr 80px 35px 60px 80px;
    padding: 6px 4px;
  }
  .ymnh-col-name a {
    color: #004038 !important;
    text-decoration: none !important;
  }
  .ymnh-month-heading {
    background: #E0F0ED !important;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }
}