@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){
  /*必要ならばここにコードを書く*/
}
.navi-footer-in a:hover {
    color: #ffffff !important;
    background-color: transparent !important;
}
/* ページネーション ブロック幅拡張 */
.page-numbers {
  width: 54px;
  height: 54px;
  line-height: 52px;
  font-size: 15px;
}

/* フッターメニュー 2行化 */
#navi-footer-in ul {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
    row-gap: 0.4em !important;
}
#navi-footer-in ul li.footer-menu-break {
    flex-basis: 100% !important;
    width: 100% !important;
    height: 0 !important;
    min-height: 0 !important;
    display: block !important;
    overflow: hidden !important;
    padding: 0 !important;
    margin: 0 !important;
    border: none !important;
    font-size: 0 !important;
    line-height: 0 !important;
}
#navi-footer-in ul li.footer-menu-break a {
    display: none !important;
}

/* フッターメニュー 両端・行頭の | を除去 */
#navi-footer-in ul li:first-child {
    border-left: none !important;
}
#navi-footer-in ul li.footer-menu-break {
    border-left: none !important;
    border-right: none !important;
}
#navi-footer-in ul li.footer-menu-break + li {
    border-left: none !important;
}
#navi-footer-in ul li:last-child {
    border-right: none !important;
}

/* Copyright 少し下にずらす */
.copyright {
    margin-top: 16px !important;
}

.tagline { display: none; }

html, body, #wrapper {
  background: #000 !important;
}

#header-container {
  background: #000 !important;
  border: none !important;
}

#header-container-in {
  display: flex !important;
  align-items: center !important;
  max-width: 1256px !important;
  width: 100% !important;
  margin: 0 auto !important;
  padding: 0 !important;
}

#header-in {
  width: auto !important;
  margin: 0 !important;
  padding: 8px 0 !important;
}

#navi {
  flex: 1;
  background: #000 !important;
}

#navi-in {
  width: auto !important;
  margin: 0 !important;
  display: flex !important;
  justify-content: flex-end !important;
}

#navi .menu-header > li {
  width: auto !important;
  flex: none !important;
  position: relative;
}

#navi .menu-header > li > a,
#navi .menu-header > li > a:hover,
#navi .menu-header > li > a:focus {
  background: transparent !important;
  background-color: transparent !important;
}

#navi .menu-header > li::before {
  content: "/";
  color: #5a8aaa;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  font-size: 1.1em;
}

#navi .menu-header > li:first-child::before { display: none; }

#navi .menu-header > li > a {
  padding: 8px 5px !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 2px;
  transition: all 0.2s ease;
  position: relative;
}

#navi .menu-header > li > a::after {
  content: "";
  position: absolute;
  bottom: 4px;
  left: 50%;
  transform: translateX(-50%) scaleX(0);
  width: 60%;
  height: 1px;
  background: #a090ff;
  box-shadow: 0 0 6px #a090ff;
  transition: transform 0.2s ease;
}

#navi .menu-header > li > a:hover::after {
  transform: translateX(-50%) scaleX(1);
}

#navi .menu-header > li > a .item-label {
  color: #ffffff !important;
  font-size: 0.85em !important;
  font-weight: bold !important;
  letter-spacing: 0.05em;
  transition: text-shadow 0.2s ease;
}

#navi .menu-header > li > a .item-description {
  color: #7ab8d4 !important;
  font-size: 0.6em !important;
  letter-spacing: 0.15em !important;
  display: block !important;
  transition: color 0.2s ease;
}

#navi .menu-header > li > a:hover .item-label {
  color: #ffffff !important;
  text-shadow: 0 0 8px #a090ff, 0 0 20px #6050bb;
}

#navi .menu-header > li > a:hover .item-description {
  color: #a8d8ee !important;
}

@media (max-width: 834px) {
  #header-container-in { flex-direction: column !important; align-items: flex-start !important; }
  #navi-in { justify-content: flex-start !important; }
  #navi .menu-header > li::before { display: none; }
}