@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){
  /*必要ならばここにコードを書く*/
}

/* =========================================================
   Real voice / Cocoon ヘッダーメニュー追加CSS 完全版
   PC：6項目を1段表示
   ホバー：少し上に動く + 薄い背景変化
   スマホ：Cocoon標準表示を維持
   ========================================================= */

/* ページ内リンクの停止位置 */
#rv2-top,
#rv2-service,
#rv2-price,
#rv2-flow,
#rv2-profile {
  scroll-margin-top: 100px;
}

html {
  scroll-behavior: smooth;
}

/* =========================================================
   PC表示
   ========================================================= */
@media screen and (min-width: 901px) {

  /* ヘッダー右側のナビ領域を縮ませない */
  #header-container .header-in,
  #header-container .header-in.wrap,
  #header-container-in.hlt-top-menu .header-in,
  #header-container-in.hlt-top-menu .header-in.wrap {
    width: min(1500px, calc(100% - 40px)) !important;
    max-width: 1500px !important;
    margin-right: auto !important;
    margin-left: auto !important;
  }

  #header-container-in.hlt-top-menu .header-in,
  #header-container-in.hlt-top-menu .header-in.wrap {
    display: flex !important;
    align-items: center !important;
    flex-wrap: nowrap !important;
  }

  /* ロゴ領域 */
  #header-container-in.hlt-top-menu .logo-header {
    flex: 0 0 330px !important;
    width: 330px !important;
    min-width: 330px !important;
    margin: 0 !important;
  }

  /* ナビ領域 */
  #header-container-in.hlt-top-menu #navi,
  #header-container-in.hlt-top-menu .navi {
    flex: 1 1 auto !important;
    width: auto !important;
    min-width: 0 !important;
    margin: 0 !important;
  }

  #navi .navi-in,
  #navi .navi-in.wrap {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
  }

  /* Cocoonの実際のグローバルメニューを6列にする */
  #navi .navi-in > ul,
  #navi .navi-in > ul.menu-header,
  #navi .navi-in > .menu-header {
    display: grid !important;
    grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
    align-items: stretch !important;
    justify-content: initial !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    gap: 0 !important;
    flex-wrap: nowrap !important;
    list-style: none !important;
  }

  /* 5項目用の固定幅やflex指定を解除 */
  #navi .navi-in > ul > li,
  #navi .navi-in > ul.menu-header > li,
  #navi .navi-in > .menu-header > li {
    display: block !important;
    float: none !important;
    flex: none !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    line-height: normal !important;
    text-align: center !important;
  }

  /* メニューリンク */
  #navi .navi-in > ul > li > a,
  #navi .navi-in > ul.menu-header > li > a,
  #navi .navi-in > .menu-header > li > a {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 72px !important;
    height: 72px !important;
    margin: 0 !important;
    padding: 8px 4px !important;
    box-sizing: border-box !important;
    background: transparent !important;
    color: #2878d7 !important;
    white-space: nowrap !important;
    word-break: keep-all !important;
    overflow-wrap: normal !important;
    line-height: 1.35 !important;
    font-family: "Yu Gothic UI", "Yu Gothic", "Noto Sans JP", sans-serif !important;
    font-size: clamp(13px, 1vw, 16px) !important;
    font-weight: 500 !important;
    text-align: center !important;
    transition: transform .2s ease, background-color .2s ease, color .2s ease !important;
  }

  /* Cocoon内部ラベル */
  #navi .navi-in > ul > li > a .caption-wrap,
  #navi .navi-in > ul > li > a .item-label {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    white-space: nowrap !important;
    text-align: center !important;
  }

  /* ホバー動作を復元 */
  #navi .navi-in > ul > li > a:hover,
  #navi .navi-in > ul > li > a:focus-visible {
    transform: translateY(-3px) !important;
    background-color: rgba(40,120,215,.06) !important;
    color: #0d6472 !important;
  }

  /* 下線アニメーション */
  #navi .navi-in > ul > li > a .item-label {
    position: relative !important;
  }

  #navi .navi-in > ul > li > a .item-label::after {
    position: absolute !important;
    left: 50% !important;
    bottom: -7px !important;
    width: 0 !important;
    height: 2px !important;
    background: #55dfcf !important;
    content: "" !important;
    transform: translateX(-50%) !important;
    transition: width .25s ease !important;
  }

  #navi .navi-in > ul > li > a:hover .item-label::after,
  #navi .navi-in > ul > li > a:focus-visible .item-label::after {
    width: 70% !important;
  }

  /* 子メニューには6列指定を適用しない */
  #navi .navi-in ul.sub-menu {
    display: none !important;
    grid-template-columns: none !important;
    width: 240px !important;
  }

  #navi .navi-in li:hover > ul.sub-menu {
    display: block !important;
  }
}

/* 横幅が狭いPC */
@media screen and (min-width: 901px) and (max-width: 1180px) {
  #header-container-in.hlt-top-menu .logo-header {
    flex-basis: 260px !important;
    width: 260px !important;
    min-width: 260px !important;
  }

  #navi .navi-in > ul > li > a {
    min-height: 64px !important;
    height: 64px !important;
    padding-right: 2px !important;
    padding-left: 2px !important;
    font-size: 12px !important;
  }
}

/* =========================================================
   スマホ・タブレット縦向き
   Cocoon標準のモバイルナビを維持
   ========================================================= */
@media screen and (max-width: 900px) {
  #navi .navi-in > ul,
  #navi .navi-in > ul.menu-header,
  #navi .navi-in > .menu-header {
    display: flex !important;
    grid-template-columns: none !important;
    width: 100% !important;
    flex-wrap: wrap !important;
  }

  #navi .navi-in > ul > li {
    width: auto !important;
    min-width: 0 !important;
  }
}

