/******* Do not edit this file *******
Simple Custom CSS and JS - by Silkypress.com
Saved: Dec 18 2025 | 05:59:57 */
/* PCヘッダー ------------------------------------------------------------ */
@media (min-width:1024px){

  /* ヘッダーは中身ぶんだけ高さが伸びる */
  .l-header,
  .l-fixHeader{
    height:auto !important;
    overflow:visible !important;
  }

  /* ヘッダー内を「上段＋下段」の縦並びにする */
  .l-header__inner,
  .l-fixHeader__inner{
    display:flex;
    flex-direction:column;
    align-items:stretch;
  }

  /* 上段：ロゴ＋右側エリアを横並び */
  .l-header__top,
  .l-fixHeader__top{
    display:flex;
    align-items:center;
    justify-content:space-between;
    width:100%;
  }

  /* ロゴとキャッチコピーを横並び */
  .l-header__logo,
  .l-fixHeader__logo{
    display:flex;
    align-items:center;
  }

  /* 下段：グローバルナビ（幅いっぱい） */
  .l-header__gnav,
  .l-fixHeader__gnav{
    position:relative !important;
    bottom:auto !important;
    left:auto !important;
    right:auto !important;
    width:100%;
    margin-top:5px;
  }

  /* ul 本体の体裁（メニュー横並び・中央寄せ） */
  ul.c-gnav{
    display:flex;
    align-items:center;
    justify-content:center;
    margin:0;
    list-style:none;
  }
  ul.c-gnav > li > a{
    display:inline-block;
    white-space:nowrap;
  }

  /* メニューリンクの幅 */
  .c-gnav>.menu-item{
    width:280px;
    height:100%;
    position:relative;
  }

  /* 右側エリア：電話・資料請求・ログインを横並びにする */
  .l-header__right,
  .l-fixHeader__right{
    margin-left:auto;
    display:flex;
    flex-direction:row;
    align-items:center;
    gap:24px;
    min-width:0;
  }

  /* 電話＋資料請求（ブログパーツ側） */
  .header-quick-area{
    display:flex !important;
    justify-content:flex-end;
    align-items:center;
    flex-wrap:nowrap;
    white-space:nowrap;
    width:auto;
    margin-top:0;
  }

  .header-quick-area .swell-block-columns,
  .header-quick-area .swell-block-columns__inner,
  .header-quick-area .swell-block-column,
  .header-quick-area .swell-block-button{
    width:auto !important;
    max-width:none !important;
    margin:0 !important;
  }

  .header-quick-area .swell-block-button a{
    display:inline-flex;
    align-items:center;
    gap:.5em;
    white-space:nowrap;
    line-height:1;
  }

  /* ログインボタン（w-header）も横並びで扱う */
  .w-header.pc_{
    display:block;
  }
  .w-header__inner{
    display:flex;
    align-items:center;
  }
}

/* SP は標準通り。PC用ブログパーツは非表示 */
@media (max-width:1023px){
  .header-quick-area{ display:none !important; }
}

/* ロゴ右のコピー（PC+タブレットのみ表示） */
.p-header-logo__catch{
  display:none;
}

@media (min-width:768px){
  .p-header-logo__catch{
    display:inline-block;
    margin-left:16px;
    font-size:14px;
    color:var(--color_main);
    white-space:nowrap;
  }
}

/* タブレット（768～1024px）のときもロゴとコピーを横並びに */
@media (min-width:768px) and (max-width:1024px){
  .l-header__logo{
    display:flex;
    align-items:center;
  }

  .p-header-logo__catch{
    display:inline-block;
    margin-left:16px;
    font-size:14px;
    color:var(--color_main);
    white-space:nowrap;
  }
}

/* 電話番号（全体） */
.p-global-nav__action-tel{
  font-weight:bold;
  position:relative;
  line-height:1.2;
  color:var(--color_text);
  text-decoration:none!important;
  padding-left:33px;
  display:inline-block;
}

/* 通話無料アイコン */
.p-global-nav__action-tel::before{
  content:"";
  position:absolute;
  top:0;
  left:0;
  width:30px;
  height:30px;
  background-image:url("/wp-content/uploads/icon_tel.png");
  background-repeat:no-repeat;
  background-size:contain;
}

/* 電話番号・営業時間・注意書き */
.p-global-nav__action-tel span{
  display:block;
}

.p-global-nav__action-number{
  font-size:24px;
}

.p-global-nav__action-time{
  font-size:11px;
  font-weight:normal;
  margin-top:4px;
  color:var(--color_text);
}

.p-global-nav__action-note{
  font-size:11px;
  font-weight:normal;
  margin-top:3px;
  color:var(--color_text);
}

/* 資料請求ボタン（縦並び） */
.c-request-btn{
  display:inline-flex;
  flex-direction:column;
  align-items:center;
  gap:4px;
  padding:3px 10px;
  font-size:12px;
  color:var(--color_text);
  text-decoration:none;
  transition:color .2s ease;
}

.c-request-btn i{
  font-size:22px;
  transition:color .2s ease;
}

.c-request-btn span{
  transition:color .2s ease;
}

.c-request-btn:hover{
  color:var(--color_main);
}

.c-request-btn:hover i,
.c-request-btn:hover span{
  color:var(--color_main);
}

/* PCヘッダーボタンの改行回避 */
.my-button-nobr{
  white-space:nowrap;
}

/* メインビジュアル（関係箇所そのまま） */
.p-mainVisual__slideTitle{
  font-size:2.4em;
  font-weight:bold;
}

/* ============================================================
   SP（1024px以下）ヘッダー調整
============================================================ */
@media (max-width:1024px){

  #header.l-header.-series.-series-right .l-header__inner{
    display:flex;
    align-items:center;
    justify-content:flex-start !important;
  }

  #header.l-header.-series.-series-right .l-header__logo{
    margin-left:0 !important;
    margin-right:0 !important;
    text-align:left !important;
  }

  #header.l-header.-series.-series-right .l-header__customBtn.sp_{
    margin-left:auto !important;
    width:auto;
  }

  .l-header__customBtn.sp_ .c-iconBtn,
  .l-header__menuBtn.sp_ .c-iconBtn{
    margin:0 !important;
  }

  #header.l-header.-series.-series-right .l-header__menuBtn.sp_{
    margin-left:-15px !important;
    padding:0 !important;
    width:auto;
  }
}

/* ============================================================
   PC：グローバルナビ hover（最終：下線ゼロ/矢印復活/追従も同じ動き）
============================================================ */
@media (min-width:1024px){

  /* グロナビ下の余白をゼロ（最終仕様） */
  ul.c-gnav{
    padding: 0 !important;
    margin: 0 !important;
  }

  #gnav .c-gnav > li,
  .l-fixHeader__gnav .c-gnav > li{
    position: relative;
  }

  /* 親リンク（hoverのみ赤） */
  #gnav .c-gnav > li > a,
  .l-fixHeader__gnav .c-gnav > li > a{
    display:flex;
    align-items:center;
    justify-content:center;
    height: 44px;
    padding: 0 16px;
	font-weight:600;
    margin: 0;
    text-decoration: none !important;
    transition: background .15s ease, color .15s ease;
  }

  /* SWELLデフォルト下線（親メニュー）を停止 */
  #gnav .c-gnav > li > a::before,
  #gnav .c-gnav > li > a::after,
  #gnav .c-gnav > li > a .ttl::before,
  #gnav .c-gnav > li > a .ttl::after,
  .l-fixHeader__gnav .c-gnav > li > a::before,
  .l-fixHeader__gnav .c-gnav > li > a::after,
  .l-fixHeader__gnav .c-gnav > li > a .ttl::before,
  .l-fixHeader__gnav .c-gnav > li > a .ttl::after{
    content: none !important;
    background: none !important;
    border: 0 !important;
    box-shadow: none !important;
  }

  /* hover / focus のみ赤（currentでは赤にしない） */
  #gnav .c-gnav > li:hover > a,
  #gnav .c-gnav > li:focus-within > a,
  .l-fixHeader__gnav .c-gnav > li:hover > a,
  .l-fixHeader__gnav .c-gnav > li:focus-within > a{
    background:#df0515;
    color:#fff;
  }
  #gnav .c-gnav > li:hover > a .ttl,
  #gnav .c-gnav > li:focus-within > a .ttl,
  .l-fixHeader__gnav .c-gnav > li:hover > a .ttl,
  .l-fixHeader__gnav .c-gnav > li:focus-within > a .ttl{
    color:#fff;
  }

  /* サブメニュー本体（上下だけでスッと出る） */
  #gnav .sub-menu,
  .l-fixHeader__gnav .sub-menu{
    top: 100% !important;
    left: 0 !important;

    width: 280px;
    min-width: 280px;

    margin: 0 !important;
    padding: 0;

    background:#fff;
    border: 1px solid #e6e6e6;
    box-shadow: 0 10px 24px rgba(0,0,0,.12);
    overflow:hidden;

    opacity: 0;
    visibility: hidden;

    transform: translateY(6px) !important;
    transition: opacity .15s ease, transform .15s ease, visibility .15s ease !important;
    z-index: 9999;
  }

  #gnav .c-gnav > li.menu-item-has-children:hover > .sub-menu,
  #gnav .c-gnav > li.menu-item-has-children:focus-within > .sub-menu,
  .l-fixHeader__gnav .c-gnav > li.menu-item-has-children:hover > .sub-menu,
  .l-fixHeader__gnav .c-gnav > li.menu-item-has-children:focus-within > .sub-menu{
    opacity: 1;
    visibility: visible;
    transform: translateY(0) !important;
  }

  /* サブメニュー区切り線（うすいグレー） */
  #gnav .sub-menu > li,
  .l-fixHeader__gnav .sub-menu > li{
    margin: 0;
  }
  #gnav .sub-menu > li + li,
  .l-fixHeader__gnav .sub-menu > li + li{
    border-top: 1px solid #ededed;
  }

  /* サブメニューリンク（赤い横線を止めて矢印に置換） */
  #gnav .sub-menu > li > a,
  .l-fixHeader__gnav .sub-menu > li > a{
    position: relative;
    display:block;
    padding: 14px 44px 14px 16px;
    line-height: 1.2;
	font-weight:600;
    background:#fff;
    color:#222;
    text-decoration:none !important;
    white-space: nowrap;
    transition: background .12s ease;
  }

  /* SWELL側の装飾を停止 */
  #gnav .sub-menu > li > a::before,
  .l-fixHeader__gnav .sub-menu > li > a::before{
    content: none !important;
    background: none !important;
    border: 0 !important;
    box-shadow: none !important;
  }

  /* 右側赤矢印 */
  #gnav .sub-menu > li > a::after,
  .l-fixHeader__gnav .sub-menu > li > a::after{
    content: "›" !important;

    position:absolute !important;
    right:16px !important;
    top:50% !important;
    left:auto !important;
    bottom:auto !important;

    transform: translateY(-50%) !important;

    display:inline-block !important;
    width:auto !important;
    height:auto !important;

    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;

    font-size:18px !important;
    line-height:1 !important;
    color:#df0515 !important;
    text-decoration: none !important;
  }

  #gnav .sub-menu > li > a:hover,
  .l-fixHeader__gnav .sub-menu > li > a:hover{
    background:#f6f6f6;
  }
}

/* ============================================================
   PC：親メニュー（子あり）の矢印を「右がわ」に統一（左がわの実体アイコンも無効化）
============================================================ */
@media (min-width:1024px){

  /* 1) SWELLがa内に差しこむ「左がわ矢印アイコン」をまとめて消す */
  #gnav .c-gnav > li.menu-item-has-children > a > :not(.ttl),
  .l-fixHeader__gnav .c-gnav > li.menu-item-has-children > a > :not(.ttl){
    display: none !important;
  }

  /* 2) 右がわに出すための余白（既存デザインは維持） */
  #gnav .c-gnav > li.menu-item-has-children > a,
  .l-fixHeader__gnav .c-gnav > li.menu-item-has-children > a{
    position: relative;
    padding-right: 32px;
  }

  /* 3) 右がわV字（通常：赤）※SWELLのcontent:noneを上書きして必ず出す */
  #gnav .c-gnav > li.menu-item-has-children > a::after,
  .l-fixHeader__gnav .c-gnav > li.menu-item-has-children > a::after{
    content: "" !important;

    position: absolute !important;
    right: 12px !important;
    left: auto !important;
    top: 50% !important;
    bottom: auto !important;

    width: 8px !important;
    height: 8px !important;

    border-right: 2px solid #df0515 !important;  /* 通常：赤 */
    border-bottom: 2px solid #df0515 !important; /* 通常：赤 */

    transform: translateY(-60%) rotate(45deg) !important;
    box-sizing: border-box !important;

    background: transparent !important;
    box-shadow: none !important;
    pointer-events: none !important;
  }

  /* 4) ホバー時：白（今のまま） */
  #gnav .c-gnav > li.menu-item-has-children:hover > a::after,
  #gnav .c-gnav > li.menu-item-has-children:focus-within > a::after,
  .l-fixHeader__gnav .c-gnav > li.menu-item-has-children:hover > a::after,
  .l-fixHeader__gnav .c-gnav > li.menu-item-has-children:focus-within > a::after{
    border-color: #fff !important;
  }
}
