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

/************************************
** サイドバーレイアウト修正
************************************/

/* コンテナ：Cocoonデフォルトのflexを維持しつつ調整 */
.content-in {
  display: flex !important;
  flex-wrap: nowrap !important;
  justify-content: space-between !important;
  align-items: flex-start !important;
  gap: 30px !important;
  box-sizing: border-box !important;
}

/* メインコンテンツ：残り幅を全て使う */
.main {
  flex: 1 1 auto !important;
  width: auto !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
}

/* サイドバー：固定幅300px */
#sidebar,
.sidebar {
  flex: 0 0 300px !important;
  width: 300px !important;
  min-width: 300px !important;
  max-width: 300px !important;
  box-sizing: border-box !important;
}

/* サイドバー内テキスト縦書き解除 */
#sidebar,
#sidebar *,
.sidebar,
.sidebar * {
  writing-mode: horizontal-tb !important;
  -webkit-writing-mode: horizontal-tb !important;
  text-orientation: mixed !important;
}

/************************************
** レスポンシブ
************************************/
@media screen and (max-width: 1023px) {
  .content-in {
    flex-wrap: wrap !important;
  }
  .main {
    width: 100% !important;
    flex: 0 0 100% !important;
  }
  #sidebar,
  .sidebar {
    flex: 0 0 100% !important;
    width: 100% !important;
    min-width: 100% !important;
    max-width: 100% !important;
  }
}

@media screen and (max-width: 480px) {
  .content-in {
    gap: 16px !important;
  }
}

/************************************
** ヘッダー スライドショー背景
************************************/
#header {
  position: relative !important;
  min-height: 220px !important;
  height: auto !important;
  overflow: hidden !important;
  background: #1a1a1a !important;
  display: flex !important;
  align-items: center !important;
}

#header-slideshow {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  z-index: 0 !important;
  pointer-events: none !important;
}

#header-slideshow::after {
  content: '' !important;
  position: absolute !important;
  inset: 0 !important;
  background: rgba(0, 0, 0, 0.38) !important;
  z-index: 1 !important;
}

.header-slide {
  position: absolute !important;
  inset: 0 !important;
  background-size: cover !important;
  background-position: center center !important;
  opacity: 0 !important;
  transition: opacity 1.5s ease-in-out !important;
  z-index: 0 !important;
}

.header-slide.active {
  opacity: 1 !important;
}

#header-in {
  position: relative !important;
  z-index: 2 !important;
  width: 100% !important;
}

.site-name-text,
#site-name a,
#site-name .site-name-text {
  text-shadow: 0 2px 8px rgba(0, 0, 0, 0.65) !important;
}

.tagline {
  color: rgba(255, 255, 255, 0.9) !important;
  text-shadow: 0 1px 4px rgba(0, 0, 0, 0.55) !important;
}

@media screen and (max-width: 767px) {
  #header {
    min-height: 150px !important;
  }
}
