/*
Theme Name: NeotecJapan
Template: code_tcd090
Author: HACTAC LTD.
Author URI: https://hactac.jp
Description: NeotecJapan専用テーマ
Version: 2.8.2.1759708288
Updated: 2025-10-06 08:51:28

*/

/*コンテナ調整*/
#container {
position: relative;
height: 100%;
overflow: hidden;
margin-left: 0;
}

/*投稿(開発事例)ページのフォーマット*/
#main_contents{
max-width:1400px;
	padding: 0 60px 150px;
}

#main_contents,#main_contents:before {
background: none;
}

#main_col {
    width: calc(100% - 350px);
    z-index: 2;
    position: relative;
    padding: 50px 50px 0px 0px;
    box-sizing: border-box;
}

#side_col {
    width: 300px;
    z-index: 2;
    position: relative;
    padding-top: 50px;
}

/*SP用ロゴの非表示 PC版*/
.pchide{
	display:none;
}
@media screen and (max-width: 1025px){
	.pchide{
	display:block;
}
}

/* =======================================================
   PC専用：横並びヘッダーメニュー（#side_menu_x）
   - ハンバーガー無効（PC）
   - 第2階層はホバー/フォーカスでドロップダウン
   - スマホは既存メニューを利用（このCSSの影響外）
   ======================================================= */

/* ---------- PC（1024px以上） ---------- */
@media (min-width:1024px){

  /* ヘッダー本体をバー化＆横並びレイアウト */
  #pc_nav{
    position: sticky; top:0; left:0; z-index:9999;
    height:; width:100%;
    background:#fff; border-bottom:1px solid #ddd;
    box-shadow:0 2px 6px rgba(0,0,0,.06);
  }
	
.pc_nav_waku{
    width:95%;
	 margin:auto;
	 max-width:1400px;
	 display:flex; align-items:center; gap:16px;
	 justify-content:flex-end;
  }

  /* ハンバーガーはPCで非表示 */
  #pc_nav_button{ display:none !important; }

	#pc_nav #header_logo{
		margin:0;
	}	
	
  /* 縦書き説明は使わない（必要ならロゴに差し替えてOK） */
  #site_desc{ display:none !important; }

  /* SNSは右寄せ */
  #side_sns{ display:none;
    margin-left:auto; padding:0; list-style:none;
  }
  #side_sns li{ display:inline-block; margin-left:12px; }

  /* ナビラッパーをフレックス伸長 */
  #pc_nav_content{
    flex:1 1 auto;
    height:64px; display:flex; align-items:center;
    overflow:visible; /* ドロップダウンが切れないように */
	  	justify-content:flex-end;
	
  }

  /* wp_nav_menu の出力差を吸収（div→ul/直接ul） */
  #pc_nav_content nav{ height:64px; }
  #pc_nav_content nav > ul,
  #pc_nav_content nav > div > ul{
    display:flex; align-items:center; gap:0;
    height:64px; margin:0; padding:0; list-style:none;
  }

  /* 第1階層（横並び） */
  #pc_nav_content nav > ul > li,
  #pc_navcontent nav > div > ul > li{
    position:relative; height:64px; font-size:16px; white-space:nowrap;
  }
  #pc_nav_content nav > ul > li > a,
  #pc_nav_content nav > div > ul > li > a{
    display:block; height:64px; line-height:64px;
    padding:0 16px; color:#222; text-decoration:none;
    transition: color .2s ease;
  }
  #pc_nav_content nav a:hover{ color:#0070f3; }

  /* 親メニューの矢印 */
  #pc_nav_content .menu-item-has-children > a::after{
    content:""; display:inline-block; width:6px; height:6px;
    border-right:2px solid #999; border-bottom:2px solid #999;
    transform:rotate(45deg); margin-left:8px; vertical-align:middle;
  }

  /* 第2階層：ドロップダウン */
  #pc_nav_content .sub-menu{
    display:none; position:absolute; top:100%; left:0; z-index:1000;
    min-width:220px; background:#fff; border:1px solid #eee;
    box-shadow:0 8px 20px rgba(0,0,0,.06); padding:6px 0; margin:0;
    list-style:none; overflow:visible;
  }
  #pc_nav_content .sub-menu li{ position:relative; }
  #pc_nav_content .sub-menu a{
    display:block; height:44px; line-height:44px;
    padding:0 14px; color:#222; text-decoration:none; white-space:nowrap;
  }
  #pc_nav_content .sub-menu a:hover{ background:#f7f7f7; }

  /* ホバー/フォーカスで開く（アクセシビリティ配慮） */
  #pc_nav_content .menu-item-has-children:hover > .sub-menu,
  #pc_nav_content .menu-item-has-children:focus-within > .sub-menu{
    display:block;
  }

  /* 第3階層：右スライド */
  #pc_nav_content .sub-menu .menu-item-has-children > .sub-menu{
    top:0; left:100%; margin-left:2px;
  }

  /* 親や祖先のoverflow:hiddenで切れないよう保険 */
  #pc_nav, #pc_nav *{ overflow:visible !important; }
}

/* ---------- スマホ（1023px以下） ----------
   PC用ヘッダーバーは隠して、既存のスマホメニューを利用 */
@media (max-width:1023px){
  #pc_nav{ display:none; } /* ※PCメニューを非表示にする場合 */
}


/* ----------------------------------------------------------------------
 トップページ　ヘッダーコンテンツ
---------------------------------------------------------------------- */
#header {
    width: 95%;
	max-width:1400px;
	margin:auto;
}

#header_slider_wrap {
    width: 100%  !important;
    height: auto !important;
	aspect-ratio:16/9;
    position: relative;
    overflow: hidden;

}
#header_slider {
    width: 100%  !important;
    height: auto  !important;
    overflow: hidden;
    position: relative;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
	aspect-ratio:16/9;

}
#header_slider .item { width:100%; height:auto !important; position:relative; aspect-ratio:16/9; }
#header_slider .progress_bar { height:6px; width:100%; position:absolute; bottom:215px; left:0px; z-index:5; background:rgba(255,255,255,0); overflow:hidden; }



/* 記事スライダー ------------------------------------------------ */
#header_slider .progress_bar .bar.active { left:0%; }
#header_slider .post_item .image_wrap {
    display: block;
    width: 100%  !important;
    height: calc(100% - 0px);
    position: relative;
    overflow: hidden;
	aspect-ratio:16/9;
}
#header_slider .post_item .image_wrap .bg_image { width:100%; height:auto !important; aspect-ratio:16/9; position:absolute; top:0px; left:0px; z-index:1; }


#header_slider .post_item .content {
	width:100%; height:215px; background: rgba(0, 0, 0, 0.5); position:absolute; bottom:0; z-index:10;
  -webkit-box-sizing:border-box; box-sizing:border-box;
	& .category{
		color:#fff;
	}
	& .title a{
		color:#fff;
	}
	& .date{
		color:#fff;
	}
}
#header_slider .post_item .content_inner {
	width:calc(50% - 160px); padding:0 60px;
  position:absolute; top:50%; -webkit-transform: translateY(-50%); transform: translateY(-50%);
  -webkit-box-sizing:border-box; box-sizing:border-box;
}
#header_slider .post_item .content.no_author .content_inner { width:100%; }


/*第二階層以降のHEROヘッダー*/
#page_header {
width: 100%;
height: 300px;
position: relative;
overflow: hidden;
background: #000;
}

