@charset "UTF-8";

/*!
Theme Name: Cocoon Child
Description: Cocoon専用の子テーマ
Theme URI: https://wp-cocoon.com/
Author: わいひら
Author URI: https://nelog.jp/
Template:   cocoon-master
Version:    1.1.3
*/

/************************************
** 子テーマ用のスタイルを書く
************************************/
/*必要ならばここにコードを書く*/

/************************************
** レスポンシブデザイン用のメディアクエリ
************************************/
/*1023px以下*/
@media screen and (max-width: 1023px){
  /*必要ならばここにコードを書く*/
}

/*834px以下*/
@media screen and (max-width: 834px){
  /*必要ならばここにコードを書く*/
}

/*480px以下*/
@media screen and (max-width: 480px){
  /*必要ならばここにコードを書く*/
}
.header-in {
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
}
 
.logo-text {
	padding: 0;
	text-align: left;
	position:absolute;
	left: 40px; /
}
 
.site-name-text {
	display: none;
}
 
.navi-in .menu-header .item-label{
	font-size: 12px;
}
/*
Recent Posts
* What's New Generator 公開停止に伴い、WordPress 新着情報を表示するショートコード(Xakuro)を追加
*/
dl.recent-posts {
    margin: .1rem 0;
    padding: 0;
    display: block;
}
dl.recent-posts dd,
dl.recent-posts dt {
    font-weight: normal;
    margin: 0;
    padding: 0;
}
dl.recent-posts dt {
    float: left;
    clear: both;
    width: 8.2em;
}
dl.recent-posts dd {
    overflow: hidden;
}
dl.recent-posts span.recent-posts-new {
    padding: 0 2px;
    margin-right: 5px;
    vertical-align: middle;
    font-size: .6rem;
    color: #fff;
    font-weight: bold;
    border-radius: 3px;
    background-color: #f02020;
}

.header-in {
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
}
 
.logo-text {
	padding: 0;
	text-align: left;
	position:absolute;
	left: 40px; /
}
 
.site-name-text {
	display: none;
}
 
.navi-in .menu-header .item-label{
	font-size: 12px;
}

/* ▼ サブメニュー（第2階層）の背景＆文字色（PCヘッダー #navi） */
#navi ul.sub-menu,
#navi div.sub-menu,
#header #navi .sub-menu {
  background-color: #509936 !important; /* ここが背景色 */
}

#navi .sub-menu a {
  color: #000000 !important; /* ここが文字色 */
}

/* ▼ ホバー時 */
#navi .sub-menu li:hover > a,
#navi .sub-menu a:hover,
#navi .sub-menu a:focus {
  background-color: #3e8a22 !important; /* ホバー時背景色 */
  color: #000000 !important;             /* ホバー時文字色 */
}

/* ============= プログラムタイムテーブル用改修中 by shimu ============= */

/* --- タブ（上部） --- */
.ttab .ttab-tabs {
  display: flex;
  gap: 8px;
  flex-wrap: nowrap;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  margin: 0 0 10px;
}
.ttab .ttab-tabs > [role="tab"] {
  appearance: none;
  border: 1px solid #ddd;
  background: #f7f7f7;
  color: #333;
  padding: 8px 12px;
  border-radius: 8px;
  cursor: pointer;
  white-space: nowrap;
  font-size: 14px;
}
.ttab .ttab-tabs > [role="tab"].is-active,
.ttab .ttab-tabs > [role="tab"][aria-selected="true"] {
  background: #fff;
  border-color: #3399ff;
  color: #0a58ca;
  box-shadow: 0 0 0 2px rgba(51,153,255,0.12) inset;
}

/* --- タイムテーブル --- */
.ttab { 
  display: block;
  clear: both;                 /* 前ブロックの回り込み無効化（重要） */
  position: relative;
  padding-bottom: max(24px, var(--footer-h, 0px)); /* 固定フッター対策の下余白 */
}

.timetable-wrapper {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  box-shadow: inset -12px 0 12px -12px rgba(0,0,0,0.08);
  position: relative;
  z-index: 1;
}

.janog--timetable {
  width: 100%;
  min-width: 1200px;           /* 7列（時間+6会場）前提 */
  border-collapse: separate;
  border-spacing: 0;
  table-layout: fixed;
  font-size: 14px;
  line-height: 1.5;
  background: #fff;
}
.janog--timetable caption {
  caption-side: top;
  text-align: left;
  font-weight: 600;
  margin: 0 0 8px;
  color: #333;
}
.janog--timetable th,
.janog--timetable td {
  border: 1px solid #ddd;
  padding: 8px 10px;
  vertical-align: top;
  word-break: break-word;
  background: #fff;
}
.janog--timetable thead th {
  font-weight: 700;
  background: #f7f7f7;
  color: #222;
}

.janog--timetable .venue-name { display: block; font-size: 0.95em; }
.janog--timetable .venue-place { display: block; font-size: 0.83em; color: #666; }

/* sticky */
.janog--timetable .sticky-cell { position: sticky; background: #fff; z-index: 2; }
.janog--timetable thead th.sticky-cell { top: 0; z-index: 4; }
.janog--timetable .time.sticky-cell { left: 0; width: 5.2rem; text-align: center; background: #fafafa; z-index: 3; }
.janog--timetable thead .time.sticky-cell { z-index: 5; }

/* 交互の行色 */
.janog--timetable tbody tr:nth-child(even) > td,
.janog--timetable tbody tr:nth-child(even) > th.time { background: #fcfcfc; }

/* ユーティリティ */
.janog--timetable .center { text-align: center; }
.janog--timetable .unused { background: #f1f1f1; color: #666; }

/* --- タブ切替（単一会場表示時） --- */
.ttab.ttab--single .ttab-table {
  min-width: 0;
  width: auto;
}
.ttab.ttab--single .ttab-table thead th[data-col],
.ttab.ttab--single .ttab-table tbody td[data-col] {
  display: none; /* JSが選択列のみ table-cell に戻す */
}

/* モバイル微調整 */
@media (max-width: 599px) {
  .janog--timetable { font-size: 13px; min-width: 900px; }
  .janog--timetable th, .janog--timetable td { padding: 7px 8px; }
  .janog--timetable .time.sticky-cell { width: 4.6rem; font-size: 12px; }
  .janog--timetable .venue-place { display: none; }
  .ttab.ttab--single .ttab-table { min-width: 0; }
}
@media (max-width: 360px) {
  .janog--timetable { font-size: 12px; min-width: 820px; }
  .janog--timetable th, .janog--timetable td { padding: 6px 7px; }
}