/*
コーポレート系ページ（page-cooperate.php / header-cooperate.php）専用スタイル
白背景ヘッダーの簡易ナビゲーション（PC: インライン / モバイル: ハンバーガー）
*/

/* ヘッダー下部の区切り線 */
.l_header_wrap {
	border-bottom: 1px solid #ededee;
}

/* ---------- PC用インラインナビ ---------- */
.p_cooperateNav {
	display: none;
	justify-content: flex-end;
}

.p_cooperateNav_list {
	display: flex;
	align-items: center;
	gap: 12px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.p_cooperateNav_link {
	display: inline-block;
	padding: 6px 8px;
	color: #333333;
	font-size: 0.9rem;
	font-weight: bold;
	line-height: 1.5;
	white-space: nowrap;
	text-decoration: none;
}

.p_cooperateNav_link:hover {
	color: #379fff;
}

/* 現在ページに対応する項目（青文字＋下線） */
.p_cooperateNav_item.is-active .p_cooperateNav_link {
	color: #379fff;
	text-decoration: underline;
}

/* ---------- モバイル用ハンバーガー ---------- */
.p_cooperateNav_toggle {
	display: none;
}

.p_cooperateNav_hamburger {
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 5px;
	width: 32px;
	height: 32px;
	cursor: pointer;
}

.p_cooperateNav_hamburgerBar {
	display: block;
	width: 24px;
	height: 2px;
	background-color: #003399;
}

/* ドロワー（既定は閉じる） */
.p_cooperateNav_drawer {
	display: none;
}

.p_cooperateNav_drawerList {
	margin: 0;
	padding: 0;
	list-style: none;
}

.p_cooperateNav_drawerLink {
	display: block;
	padding: 14px 16px;
	color: #333333;
	font-size: 0.95rem;
	font-weight: bold;
	text-decoration: none;
	border-top: 1px solid #ededee;
}

.p_cooperateNav_drawerLink:hover {
	color: #379fff;
}

.p_cooperateNav_drawerItem.is-active .p_cooperateNav_drawerLink {
	color: #379fff;
	text-decoration: underline;
}

/* ---------- ブレイクポイント ---------- */
/* モバイル（767px以下）: ハンバーガー押下でドロワー展開 */
@media (max-width: 767px) {
	.p_cooperateNav_toggle:checked ~ .p_cooperateNav_drawer {
		display: block;
	}
}

/* タブレット以上（768px〜）: インラインナビ表示、ハンバーガー非表示 */
@media (min-width: 768px) {
	.p_cooperateNav {
		display: flex;
	}

	.p_cooperateNav_hamburger {
		display: none;
	}

	.p_cooperateNav_drawer {
		display: none;
	}
}


/* ============================================
   共通部分（①会社情報 / ②Mission,Vision,Values / ③会社概要 / ④事業内容）
   ============================================ */
   .page-main-rel_company { display: none; }
   .l_header {
	   position: sticky;
	   top: 0;
	   z-index: 100;
	   margin: 0;
   }
   .l_wrapper { background: #EDF5F7; }
   .l_header_wrap {
	   border-bottom: 1px solid #ededee;
	   padding: 1rem 0;
   }
   .l_container_cooperate { background: #EDF5F7; }
   .post-content {
	   margin-bottom: 0;
	   background: #EDF5F7;
   }
   a:hover { text-decoration: none; }
   
   /* ---------- ヒーローバナー（共通） ---------- */
   .p_business_hero {
	   background: url('/wp-content/uploads/2026/07/bg_pc.webp') no-repeat center bottom #fff;
	   background-size: 100% 52%;
	   display: flex;
	   justify-content: center;
	   align-items: center;
	   box-sizing: border-box;
	   padding: 20px 0 30px;
   }
   .p_business_img {
	   display: block;
	   height: 100%;
	   object-fit: contain;
   }
   
   /* ---------- レイアウト（共通） ---------- */
   .p_business_wrapper {
	   margin: 5rem auto 0;
	   max-width: 1000px;
   }
   
   /* ---------- 見出し（共通ベース） ---------- */
   .p_business_heading {
	   font-size: 2rem;
	   font-weight: 700;
	   color: #003399;
	   margin-bottom: 12px;
	   line-height: 1.4;
   }
   
   /* ============================================
	  ①会社情報 専用パーツ
	  ============================================ */
   .c_title_semiBold {
	   font-weight: 600;
	   font-size: 1.3rem;
   }
   
   /* ---------- 会社プロフィールナビ ---------- */
   .p_company_profile {
	   position: relative;
	   background-image: url('/wp-content/uploads/2026/07/company_top_illust02.webp');
	   background-position: center top;
	   background-size: auto;
	   background-repeat: no-repeat;
	   display: flex;
	   align-items: center;
	   justify-content: center;
	   padding: 140px 0 0;
	   box-sizing: border-box;
	   margin: -2rem auto 6rem;
   }
   .p_company_profilelist {
	   display: flex;
	   flex-direction: row;
	   justify-content: space-between;
	   list-style: none;
	   margin: 0;
	   padding: 0;
	   position: relative;
	   z-index: 1;
	   width: 100%;
   }
   .p_company_profileitem {
	   flex: 1;
	   max-width: 320px;
	   min-width: 200px;
   }
   .p_company_profilelink {
	   display: block;
	   text-decoration: none;
	   background-color: #0033a0;
	   overflow: hidden;
	   box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
	   transition: transform 0.3s ease, box-shadow 0.3s ease;
   }
   .p_company_profilelink:hover {
	   text-decoration: none;
	   transform: translateY(4px);
	   box-shadow: 0 8px 20px rgba(0, 0, 0, 0.2);
   }
   .p_company_profilethumb {
	   width: 100%;
	   height: 140px;
	   object-fit: cover;
	   display: block;
   }
   .p_company_profilelabel {
	   color: #ffffff;
	   font-size: 16px;
	   font-weight: 700;
	   padding: 14px 12px;
	   display: block;
	   line-height: 1.4;
	   text-align: center;
   }
   
   /* ---------- ソーシャルメディアコンポーネント ---------- */
   .c_block_sns {
	   margin: 2rem 0 4rem;
   }
   .c_block_snslist {
	   display: flex;
	   flex-direction: row;
	   justify-content: space-between;
	   gap: 20px;
	   list-style: none;
	   padding: 0;
	   margin: 2rem 0 0;
	   width: 100%;
   }
   .c_block_snsitem {
	   flex: 1;
   }
   .c_block_snslink {
	   display: flex;
	   align-items: center;
	   justify-content: center;
	   gap: 12px;
	   background-color: #ffffff;
	   border-radius: 12px;
	   padding: 18px 20px;
	   text-decoration: none;
	   box-shadow: 0 4px 10px rgba(0, 0, 0, 0.08);
	   transition: transform 0.2s ease, box-shadow 0.2s ease;
   }
   .c_block_snslink:hover {
	   text-decoration: none;
	   transform: translateY(4px);
	   box-shadow: 0 6px 14px rgba(0, 0, 0, 0.12);
   }
   .c_block_snsicon {
	   width: 36px;
	   height: 36px;
	   object-fit: contain;
	   flex-shrink: 0;
   }
   .c_block_snslabel {
	   color: #1a1a1a;
	   font-size: 15px;
	   font-weight: 700;
   }
   
   /* ---------- コーポレートニュース調整 ---------- */
   .c_block_corporateNews {
	   background: #fff;
   }
   .c-default_line_list__icon.info:before {
	   display: none;
   }
   .c-default_line_list {
	   border-bottom: 1px solid #adadad;
	   padding: 1rem;
	   margin-bottom: 0;
   }
   .c-default_line_list:last-of-type {
	   border-bottom: none;
   }
   .c-default_line_list a:hover {
	   text-decoration: underline;
   }
   
   /* ============================================
	  カード（①会社情報 / ④事業内容 共通パーツ）
	  ============================================ */
   .p_business_card {
	   background-color: #ffffff;
	   border-radius: 6px;
	   padding: 14px 20px;
	   display: flex;
	   align-items: stretch;
	   gap: 20px;
	   box-shadow: 0 1px 4px rgba(0,0,0,0.07);
	   margin: 1rem 0rem 4rem;
   }
   .p_business_thumb {
	   flex: 0 0 260px;
	   display: flex;
	   flex-direction: column;
	   align-items: center;
	   justify-content: center;
	   gap: 6px;
   }
   .p_business_icon {
	   width: 100%;
	   max-width: 260px;
	   object-fit: contain;
   }
   .p_business_body {
	   display: flex;
	   flex-direction: column;
	   flex: 1;
   }
   /* ④事業内容のみ使用 */
   .p_business_body.is_jccenter {
	   justify-content: center;
   }
   .p_business_card .c_button_block {
	   margin-top: auto;
   }
   
   .p_business_text {
	   font-size: 1.125rem;
	   line-height: 2;
	   margin: 1rem 0;
   }
   .p_business_text.is_bold {
	   font-weight: 600;
   }
   
   /* ============================================
	  Mission, Vision, Values（②専用）
	  ============================================ */
   .u_text_accent,
   .u_text_accent li {
	   color: #3399ff;
	   font-size: 1.5rem;
	   font-weight: 700;
	   line-height: 1.5;
	   margin-left: 1rem;
   }
   .p_credo_item {
	   margin: 2rem 0 3rem 0rem;
   }
   .p_credo_desc {
	   margin: 0rem 0 4rem 1rem;
	   font-weight: 700;
	   font-size: 1.2rem;
   }
   .p_credo_list {
	   margin: 0rem 0 1rem 1rem;
   }
   .p_credo_list li {
	   margin-bottom: 10px;
	   margin-left: 0;
   }
   .p_credo_list li:last-child {
	   margin-bottom: 0;
   }
   
   /* ============================================
	  会社概要（③専用）
	  ============================================ */
   .p_company_location {
	   margin-top: 4rem;
   }
   .p_company_table {
	   width: 100%;
	   border-collapse: collapse;
	   margin-bottom: 3rem;
   }
   .p_company_table th,
   .p_company_table td {
	   border: 1px solid #CBCBCB;
	   padding: 15px 20px;
	   font-size: 1rem;
	   line-height: 1.6;
	   text-align: left;
   }
   .p_company_table th {
	   background-color: #C3E2FF;
	   width: 20%;
	   font-weight: 700;
   }
   .p_company_table td {
	   background-color: #fff;
   }
   .p_company_map {
	   position: relative;
	   width: 100%;
	   max-width: 800px;
	   margin: 0 auto;
	   padding-top: 40%;
	   box-shadow: 0 1px 4px rgba(0,0,0,0.07);
   }
   .p_company_map iframe {
	   position: absolute;
	   top: 0;
	   left: 0;
	   width: 100% !important;
	   height: 100% !important;
	   border: none;
   }
   
   /* ============================================
	  SP表示（max-width: 767px）
	  ============================================ */
   @media (max-width: 767px) {
	   .p_business_heading {
		   font-size: 1.2rem;
		   margin-bottom: 10px;
	   }
   .p_business_heading.is_fslarge {
   font-size: 1.6rem;
   }
	   .p_business_card {
		   flex-direction: column;
		   align-items: flex-start;
		   gap: 16px;
		   padding: 20px 16px;
	   }
	   .p_business_thumb {
		   flex-direction: row;
		   flex: unset;
		   width: 100%;
		   justify-content: center;
		   gap: 16px;
	   }
	   .p_business_icon {
		   max-width: 200px;
	   }
	   .p_business_text {
		   font-size: 0.95rem;
		   line-height: 1.9;
		   margin-top: 0;
	   }
	   .p_business_btn {
		   display: block;
		   text-align: center;
		   width: 100%;
		   max-width: 220px;
		   margin: 0 auto;
	   }
	   .p_business_img { display: none; }
	   .p_business_hero {
		   padding: 0;
		   background: #fff;
	   }
	   .l_header_wrap { padding: .3rem 0; }
	   .p_business_wrapper { margin: 2rem 1rem -3rem; }
	   .c_button_block { padding-bottom: 1rem; }
   
	   /* ②専用 */
	   .u_mb_large { font-size: 2.2rem; }
   
	   /* ①専用：会社プロフィールナビのSP調整 */
	   .p_company_profile {
		   background-position: center top 10px;
		   background-size: auto 100px;
		   padding: 100px 20px 0px;
	   }
	   .p_company_profilelist {
		   flex-direction: column;
		   align-items: center;
		   gap: 32px;
		   width: 100%;
	   }
	   .p_company_profileitem {
		   width: 100%;
		   max-width: 300px;
	   }
	   .p_company_profilethumb {
		   height: 160px;
	   }
   
	   .p_company_profilelabel,
	   .c_title_semiBold {
		   font-size: 1rem;
	   }
   
	   /* ①専用：SNSコンポーネントのSP調整 */
	   .c_block_snslist {
		   flex-direction: column;
		   gap: 16px;
	   }
	   .c_block_snslabel {
		   width: 220px;
	   }
   
	   /* ③会社概要専用 */
	   .p_company_table {
		   border-top: 1px solid #CBCBCB;
		   border-left: 1px solid #CBCBCB;
		   border-right: 1px solid #CBCBCB;
		   border-bottom: none;
		   margin-bottom: 2rem;
	   }
	   .p_company_table tr { display: block; }
	   .p_company_table th,
	   .p_company_table td {
		   display: block;
		   width: 100%;
		   box-sizing: border-box;
		   padding: 10px 14px;
		   border: none;
		   border-bottom: 1px solid #CBCBCB;
	   }
	   .p_company_table th { padding-bottom: 6px; }
	   .p_company_table td { padding-top: 6px; }
	   .p_company_map {
		   padding-top: 60%;
		   margin-bottom: 2rem;
	   }
	   .p_company_location { margin-top: 2rem; }
   }