@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
*/

/************************************
** 共通部分
************************************/

h1{
margin: 10px 10px 0;
font-size:24px;
}

h2{
margin-bottom:15px;
font-size:18px;
}
h3{
font-size:16px;
}
a{
font-size:16px;
}

/************************************
** カスタム投稿　共通部分
************************************/

.live-meta p {
  margin: 0.5em 0;
  font-size: 16px;
}
.live-meta a {
  color: #1967d2;
  font-size:16px;
}
.live-meta ul {
  list-style: none;
  padding: 1rem;
}
.live-meta li {
  margin: 0.5em 0;
  font-size: 1rem;
}
.fc-daygrid-day-number {
  text-decoration: none;
}
.release-meta p {
  margin: 0.5em 0;
  font-size: 16px;
}
.release-meta a {
  color: #1967d2;
  font-size:16px;
}
.release-meta ul {
  list-style: none;
  padding: 1rem;
}
.release-meta li {
  margin: 0.5em 0;
  font-size: 1rem;
}
.media-meta p {
  margin: 0.5em 0;
  font-size: 16px;
}
.media-meta ul {
  list-style: none;
  padding: 1rem;
}
.media-meta li {
  margin: 0.5em 0;
  font-size: 1rem;
}
.media-meta a {
  color: #1967d2;
  font-size: 1rem;
}

.live-list,
.release-list,
.media-list{
  list-style: none;
  padding-left: 1rem;
}
/************************************
** ヘッダーとメニュー
************************************/

#site-header {
  background-color: #000;
  color: #fff;
  padding: 10px;
  width: 100%;
  position: sticky;
  top: 0;
  z-index: 2000;
}

/* ヘッダー内のロゴ＋メニュー */
.header-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  padding: 0 10px;
  box-sizing: border-box;
}

.site-logo img {
  max-width: 55px;
  height: auto;
}

.main-nav ul {
  display: flex;
  gap: 20px;
  list-style: none;
  margin: 0;
  padding: 0;
}
.main-nav ul li a {
  color: #fff;
  text-decoration: none;
  font-size: 16px;
}
.main-nav ul li a:hover {
  color: #ccc;
  font-weight: bold !important;
}

/* PCでは非表示 */
.hamburger-btn {
  display: none;
  background: none;
  border: none;
  padding: 0;
  cursor: pointer;
}

/* スマホとタブレットで表示 */
@media (max-width: 1024px) {
.hamburger-btn {
  position: fixed;
  right: 15px;
  z-index: 2000;
}

  .main-nav {
    display: none;
  }
}

.mobile-nav {
  position: fixed;
  top: 0;
  right: -100%;
  z-index: 1500;
  width: 80%;
  height: 100vh;
  background: #000;
  transition: right 0.3s ease;
}
/* スマホとタブレットで表示 */
@media (max-width: 1024px) {
  .hamburger-btn {
    display: block;
  }

  .main-nav {
    display: none;
  }

  /* モバイルメニュー */
  .mobile-nav {
    position: fixed;
    top: 0;
    right: -100%;
    width: 80%;
    height: 100vh;
    background: #000;
    padding-top: 80px;
    transition: right 0.3s ease;
    z-index: 999;
  }

.mobile-nav.active {
    right: 0;
  }

  .mobile-nav ul {
    margin: 20px;
    list-style: none;
  }
  .mobile-nav ul li {
    margin: 20px;
    list-style: none;
  }

  .mobile-nav a {
    color: #fff;
    font-size: 1rem;
  }
}
.hamburger-btn img {
background-color:#000;
  max-width: 55px;
  height: auto;
}
 /* img{
  max-width: 55px;
  height: auto;
}*/

.main-nav ul {
  display: flex;
  gap: 20px;
  list-style: none;
  margin: 0;
  padding: 0;
}

/************************************
** メイン
************************************/

.main-nav ul li a {
  color: #fff;
  text-decoration: none;
  font-weight: bold;
  font-size: 16px;
}
.main-nav ul li a:hover {
  color: #ccc;
}
.main-content {
  display: flex;
  gap: 40px;
  align-items: flex-start;
}

.main-content-wrapper{
background-color: #000; 
color: #fff; 
padding: 10px 20px !important;
}

.calendar-area {
  flex: 2;
  min-height: 400px;
  padding: 0 5px;
}

/* LATEST POSTS */

.latest-posts {
  flex: 1;
  background-color: #000;
  padding: 40px 20px;
  border-left: 1px solid #ccc;
}

.latest-post {
margin-top:1.5rem;
  margin-bottom: 1.5em;
}

.latest-post p {
  margin: 0.3em 0;
  font-size: 1.5rem;
}
/* Latest Posts 内の文字サイズ統一 */
.latest-posts,
.latest-posts * {
  font-size: 16px !important;
  line-height: 1.4;
}

/************************************
**  カレンダー表示調整（PC版トップページ用）
************************************/

/* 背景黒＋文字白（全体） */
body {
  background-color: #000;
  color: #fff;
}

/* ==== FullCalendar 背景統一 ==== */
:root {
  --fc-page-bg-color: #000 !important;
  --fc-neutral-bg-color: #111 !important;
  --fc-border-color: #333 !important;
  --fc-neutral-text-color: #ccc !important;
}

#calendar,
.fc-theme-standard,
.fc-theme-standard .fc-scrollgrid,
.fc-daygrid,
.fc-daygrid-body,
.fc-daygrid-day {
  background-color: #000 !important;
  color: #fff !important;
  border-color: #333 !important;
}

/* カレンダー操作ボタン */
.fc-button-today,
.fc-button-prev,
.fc-button-next {
  background-color: #eee !important;
  color: #000 !important;
  border: none !important;
}

/* 曜日ヘッダー背景を統一 */
.fc-col-header {
  background-color: #000 !important;
  color: #fff !important;
  border-bottom: 1px solid #333 !important;
}

/* 今日の背景色 */
.fc-day-today {
  background-color: #333 !important;
}

/* 当月以外の日付 */
.fc-day-other {
  color: #777 !important;
}

/* イベント文字色 */
.fc-daygrid-day-number,
.fc-daygrid-event {
  color: #fff !important;
}

/* カスタムイベント */
.fc-custom-event {
  color: #fff !important;
  white-space: normal !important;
  line-height: 1.4;
}

/* カレンダー罫線 */
.fc-theme-standard td,
.fc-theme-standard th {
  border-color: #333 !important;
}

/************************************
** カレンダー レイアウト調整（6行固定＋スクロール非表示）
************************************/
.fc-scroller {
  overflow: hidden !important;
  max-height: none !important;
}

.fc-scrollgrid-sync-table,
.fc-daygrid-body,
.fc-daygrid-body table {
  height: auto !important;
  min-height: 100% !important;
}

/* 6行すべてが常に見えるように固定 */
.fc-daygrid-day-frame {
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-start !important;
  align-items: flex-start !important;
  box-sizing: border-box;
  padding: 4px;
}

/************************************
** イベント表示調整（セル内に収める）
************************************/
.fc-daygrid-event {
  white-space: normal !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  word-break: break-word !important;
  display: block !important;
  margin: 1px 0 !important;
  line-height: 1.2;
  font-size: 1rem;
      padding: 2px 4px !important;
    border-radius: 2px !important;
}

.fc-daygrid-event .fc-event-title {
  white-space: normal !important;
  overflow: hidden;
  text-overflow: ellipsis;
  word-break: break-word;
}

/* ドット非表示＋角丸 */
.fc-daygrid-event-dot {
  display: none !important;
}
.fc-event {
  border-radius: 4px !important;
  padding: 2px 4px !important;
}

/*
** カレンダー 高さの自動調整対応*/

/* 画面幅に応じて自動スケーリング */
.fc-daygrid-day-frame {
  min-height: 12vw !important; /* 1セルの高さ＝画面幅の約12% */
}

/* ============================
   カレンダー全体の基本調整
============================ */

/* 全体背景・高さ・スクロール禁止 */
#calendar {
    background: #000;          /* 黒背景 */
    padding: 10px;
    overflow: hidden !important; 
}

/* 1日のセルの高さ（イベント3行入る想定） */
.fc .fc-daygrid-day {
  overflow: hidden !important; 
}

/* ============================
   スクロールバーを消す
============================ */

/* 曜日と1週目の間の隙間を消す */
.fc .fc-scrollgrid-section-header {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}
/* ============================
   ④ フォントを小さくして6週固定
============================ */
.fc .fc-daygrid-day-number {
    font-size: 12px !important;
    padding: 2px 4px;
}

.fc .fc-event-title {
    font-size: 11px !important;
    line-height: 1.2em;
    white-space: normal !important;
}

/* ============================
   ⑤ イベント背景色をタイプ別に変更
============================ */


/* LIVE：青背景 + 白文字 */
.fc-event.live {
  background-color: #0066ff !important;
  color: #ffffff !important;
  border: none !important;
}

/* MEDIA：黄色背景 + 白文字 */
.fc-event.media {
  background-color: #ffd700 !important;
  color: #ffffff !important;
  border: none !important;
}

/* RELEASE：ピンク背景 + 白文字 */
.fc-event.release {
  background-color: #ff66aa !important;
  color: #ff77bb !important;
  border: none !important;
}

/* イベント内部のテキスト色も白に固定 */
.fc-event.live .fc-event-title,
.fc-event.media .fc-event-title,
.fc-event.release .fc-event-title {
  color: #ffffff !important;
}

.fc-daygrid-event {
  display: flex !important;
  align-items: center !important;
}

.fc-daygrid-event .fc-event-main {
  display: flex !important;
  align-items: center !important;
}

.fc-theme-standard th {
    border-bottom: none !important;
}

/* FullCalendar 曜日の下線完全除去 */
.fc-col-header-cell,
.fc-col-header-cell a,
.fc-col-header-cell-cushion {
  text-decoration: none !important;
  border-bottom: none !important;
}

/* カレンダーの月タイトル（例：2025年11月） */
.fc-toolbar-title {
  font-size: 20px !important;
}

/************************************
** フロントページ　レスポンシブ対応
************************************/
@media screen and (max-width: 767px) {
  /* スマホ版ヒーロー背景 */
  #hero-video {
    display: none !important;
  }
  .main-content {
    flex-direction: column;
    gap: 20px;
  }
  .main-content-wrapper{
background-color: #000; 
color: #fff; 
padding: 5px 10px !important;
}
  .calendar-area {
    padding: 0 10px;
    width: 100%;
    min-height: auto;
    padding: 5px;
  }
  .latest-posts {
    width: 100%;
    border-left: none;
    border-top: 1px solid #ccc;
    padding: 20px 10px;
    background-color: #111;
  }
  .fc-daygrid-day-number,
  .fc-daygrid-event {
    font-size: 0.9rem;
  }
  .fc-button-today,
  .fc-button-prev,
  .fc-button-next {
    font-size: 0.8rem !important;
    padding: 6px 10px !important;
  }
}

/* 大画面では少し低く */
@media screen and (min-width: 1200px) {
  .fc-daygrid-day-frame {
    min-height: 8vw !important;
  }
}

/* タブレット */
@media screen and (max-width: 991px) {
  .fc-daygrid-day-frame {
    min-height: 14vw !important;
  }
}

/* スマホ（縦長）では高さをさらに調整 */
@media screen and (max-width: 767px) {
  .fc-daygrid-day-frame {
    min-height: 18vw !important;
  }
  .fc-col-header-cell {
    font-size: 0.8rem !important;
  }
  .fc-daygrid-day-number,
  .fc-daygrid-event {
    font-size: 0.75rem !important;
  }
  #calendar {
    width: 100% !important;
  }
}
@media (max-width: 600px) {
  /* セルを少し広めにする（スマホ横幅いっぱい使う） */
  .fc-daygrid-day-frame {
    padding: 2px 1px;
  }

  /* イベントラベルを折り返さない */
  .fc-daygrid-event {
    white-space: nowrap;
  }

  .fc-daygrid-event .fc-event-main {
    white-space: nowrap;
  }

  /* ラベルの最小幅を確保する */
  .fc-daygrid-event {
    min-width: 55px;
  }
}

/************************************
** 共通項目（サイト全体）
************************************/

/* 全リンクの下線を完全除去 */
a {
  text-decoration: none !important;
}

/* ホバー時に #ccc へ */
a:hover {
  color: #ccc !important;
  font-weight: bold !important;

}
/* メインコンテンツ中央配置 */
.works-page,
.contact-page,
.media-archive,
.release-archive,
.movie-archive,
.live-archive{
  max-width: 700px;
  min-height:60vh;
  margin: 0 auto;
  padding: 20px 20px;
  background-color: rgba(0, 0, 0, 0.8); /* 背景が透けすぎないように */
  box-shadow: 0 0 10px rgba(0,0,0,0.1);
}

.single-release{
  min-height:80vh;
  margin: 0 auto;
  padding: 20px 20px;
}

/* スマホ・タブレット時は背景画像を非表示 */
@media (max-width: 1024px) {
  body.live-bg {
    background: none;
  }
}

/************************************
 WORKS
 ************************************/
.works-items {
  display: flex;
  flex-wrap: wrap;
  gap: 60px;
  justify-content: center;
}

/* 各作品のボックス */
.work-item {
  width: 250px;
  text-align: center;
  padding:20px auto;
  margin-top:20px;
  margin-bottom:20px;
}

/* リンクリストの・を非表示 */
.work-links {
  list-style: none;
  padding: 0;
  margin-top: 10px;
}

.work-links li {
  list-style: none;
  margin: 5px 0;
}
.works-meta li{
  list-style: none;
  margin: 10px 0;
}

/************************************
MOVIE
 ************************************/
.movie-list {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
  gap: 30px;
}

.movie-card {
  text-decoration: none;
  color: inherit;
  display: block;
}

.movie-thumb img {
  width: 100%;
  border-radius: 8px;
}

.movie-title {
  font-size: 18px;
  margin: 10px 0 5px;
}

.movie-channel {
  font-size: 14px;
  color: #888;
}