.l_inner {
  width: 100%;
  margin: 0 auto;
  
}

/* 各行のボーダー設定 */

.row_employee .management_cell {
border: 3px solid #333;
}

.row_employee .support_cell {
border: 3px solid;
border-image: linear-gradient(90deg, #2A6AB2 0%, #0EB091 100%) 1;
}



.row_employee_mbo .support_cell {
border: 3px solid;
border-image: linear-gradient(90deg, #2A6AB2 0%, #0EB091 100%) 1;
}

.row_employee_ma_1 .support_cell {
border: 3px solid;
border-image: linear-gradient(90deg, #2A6AB2 0%, #0EB091 100%) 1;
}

.row_employee_ma_2 .support_cell {
border: 3px solid;
border-image: linear-gradient(90deg, #2A6AB2 0%, #0EB091 100%) 1;
}

/* RISONAL 社内承継ページ専用CSS */

/* 基本設定 */


.highlight {
color: #2A6AB2;
font-weight: 900;
}

.blue_text {
color: #2A6AB2;
}

/* ロゴのレスポンシブ対応 */
.hero_logo .pc_logo {
  display: block;

}

.hero_logo .sp_logo {
  display: none;
}

/* メインヒーローセクション */
.succession_hero {
padding: 60px 0 80px;
background: #fff;
}

.hero_logo {
text-align: left;
margin-bottom: 30px;
}

.hero_title {
font-size: 2.6rem;
font-weight: 900;
text-align: left;
margin-bottom: 40px;
line-height: 1.75;
}

.hero_content {
max-width: 800px;
}

.hero_text {
font-size: 1.8rem;
font-weight: 500;
line-height: 1.8;
text-align: left;
margin-bottom: 40px;
}

.hero_text .l_font,
.hero_text .blue_text {
font-weight: 500;
}

.hero_cta {
text-align: left;
}

.btn_free_consultation {
background: #2A6AB2;
color: #fff;
padding: 15px 40px;
border-radius: 25px;
text-decoration: none;
font-weight: 700;
font-size: 1.4rem;
transition: all 0.3s ease;
}

.btn_free_consultation:hover {
background: #1F5A9F;
transform: translateY(-1px);
box-shadow: 0 4px 12px rgba(42, 106, 178, 0.3);
}

/* 理想の事業承継セクション */
.succession_overview {
padding: 80px 0;
background: #fff;
}

.succession_overview .hl_h2 {
font-size: 3.6rem;
font-weight: 900;
text-align: center;

margin-bottom: 30px;
line-height: 1.3;
}

.overview_desc {
font-size: 1.6rem;
line-height: 1.8;
text-align: center;
max-width: 800px;
margin: 0 auto 60px;
}

/* 承継マトリックス */
.succession_matrix {
max-width: 900px;
margin: 0 auto;
text-align: center;
}

.succession_matrix img {
width: 100%;
height: auto;
max-width: 900px;
}

/* プロセス・支援スコープセクション */
.succession_process {
padding: 80px 0;
background: #F8F9FA;
}

.succession_process .hl_h2 {
font-size: 3.2rem;
font-weight: 900;
text-align: center;
margin-bottom: 20px;
}

.process_desc {
font-size: 1.6rem;
text-align: center;
margin-bottom: 50px;
}

/* プロセステーブル */
.process_table_container {
overflow-x: auto;
margin: 0 auto;
max-width: 1200px;
width: 100%;
-webkit-overflow-scrolling: touch; /* スムーズなスクロール */
}

.process_table {
width: 100%;
min-width: 800px; /* 最小幅を設定してスクロール領域を確保 */
border-collapse: separate;
border-spacing: 16px;
background: transparent;
}

.process_table th {
padding: 20px 15px;
font-weight: 900;
font-size: 1.6rem;
text-align: center;
vertical-align: middle;
}

.process_table td {
padding: 20px 15px;
vertical-align: middle;
font-size: 1.4rem;
line-height: 1.6;
background: #fff;
position: relative;
}

/* セル内のアイコン */
.cell_icon {
position: absolute;
top: 50%;
left: -34px;
transform: translateY(-50%);
width: 44px;
height: 44px;
z-index: 10;
}

/* ヘッダー行のアイコンは非表示 */
.header_row .cell_icon {
display: none;
}

/* 最後の列のアイコンは非表示 */
.th_support .cell_icon {
display: none;
}

.process_table {
width: 100%;
border-collapse: separate;
border-spacing: 16px;
background: transparent;
}

.process_table th {
padding: 20px 15px;
font-weight: 900;
font-size: 1.6rem;
text-align: center;
vertical-align: middle;
}

.process_table td {
padding: 20px 15px;
vertical-align: middle;
font-size: 1.4rem;
line-height: 1.6;
}

/* ヘッダー行のスタイル */
.header_row .th_management,
.header_row .th_property {
background: #333;
color: #fff;
text-align: center;
}

.header_row .th_management {
width: 20%;
}

.header_row .th_property {
width: 20%;
}

.header_row .th_policy {
background: #2A6AB2;
color: #fff;
text-align: center;
width: 20%;
}

.header_row .th_support {
background: linear-gradient(90deg, #2A6AB2 0%, #0EB091 100%);
color: #fff;
text-align: center;
width: 70%;
}

/* データ行のスタイル */
.management_cell {
background: #fff;
border: 3px solid #333;
font-weight: 900;
text-align: center;
width: 80px;
position: relative;
}

.management_label {
font-size: 1.8rem;
font-weight: 900;
}

.property_cell {
font-weight: 900;
text-align: center;
width: 120px;

}

.property_cell.family {
border: 3px solid #333;
}

.property_cell.employee {
border: 3px solid #333;
}

.property_cell.third {
border: 3px solid #333;
}

.policy_cell {
background: #EBF4FF !important;
font-weight: 900;
text-align: center;
color: #2A6AB2;
width: 150px;
border: 3px solid #2A6AB2;
}

.support_cell {
background: #fff;
width: auto;
border: 3px solid;
border-image: linear-gradient(90deg, #2A6AB2 0%, #0EB091 100%) 1;
}

.bold_blue {
color: #2A6AB2;
font-weight: 900;
}

.bold {
font-weight: 900;
}

.process_note {
text-align: center;
font-size: 1.4rem;
color: #666;
margin-top: 20px;
}

/* 社内承継支援機構セクション */
.support_organization {
padding: 80px 0;
background: #fff;
background-image: url('/wp-content/themes/risonal_ver2/assets/succession/img/succession-back.png');
background-size: cover;
background-position: center;
background-repeat: no-repeat;
position: relative;
overflow: hidden;
}

.support_organization .hl_h2 {
text-align: center;
position: relative;
z-index: 3;
margin-bottom: 30px;
}

.support_organization .hl_h2 img {
width: 300px;
max-width: 100%;
height: auto;
}

.organization_content {
max-width: 660px;
margin: 0 auto;
text-align: center;
position: relative;
z-index: 3;
}

.organization_features {
margin-bottom: 60px;
background: #fff;
padding: 40px;
border-radius: 12px;
}

.feature_item {
display: flex;
align-items: flex-start;
gap: 15px;
margin-bottom: 25px;
text-align: left;
margin-left: auto;
margin-right: auto;
	align-items: center;
}

.feature_item img {

height: 10px;
flex-shrink: 0;
margin-top: 2px;
}

.feature_item p {
font-size: 1.6rem;
line-height: 1.7;
margin: 0;
}

.organization_note {
font-size: 1.4rem;
color: #666;
padding-top: 16px;
border-top: 1px solid #ddd;
text-align: center;
}

.organization_cta {
text-align: center;
}

.btn_organization {
background: #2A6AB2;
color: #fff;
padding: 20px 30px;
border-radius: 50px;
text-decoration: none;
font-weight: 700;
display: inline;
transition: all 0.3s ease;
}

.btn_organization:hover {
background: #1F5A9F;
transform: translateY(-2px);
box-shadow: 0 4px 12px rgba(42, 106, 178, 0.3);
}

/* 背景写真 */
.photo_left {
position: absolute;
left: 5%;
top: 25%;
width: 215px;
z-index: 2;
}

.photo_right_top {
position: absolute;
right: 0%;
top: 15%;
width: 215px;
z-index: 2;
}

.photo_right_bottom {
position: absolute;
right: 8%;
bottom: 0%;
width: 215px;
z-index: 2;
}

.photo_left img,
.photo_right_top img,
.photo_right_bottom img {
width: 100%;
height: auto;
}

/* 関連サービスセクション */
.related_services {
padding-top: 80px;
background: #fff;
}

.service_box {
background: #fff;
margin-bottom: 40px;
}


.service_title {
font-size: 2.2rem;
font-weight: 900;
margin: 40px 0 20px 0;
line-height: 1.4;
}

.service_description {

margin-bottom: 30px;
}

.service_cta .btn {
padding: 15px 40px;
width: 286px;

}






/* mainタグ内のリンクの色統一 */
main a {
color: #2A6AB2;
}

/* レスポンシブ対応 */
@media screen and (max-width: 1024px) {
.photo_left {
  left: 20px;
  width: 210px;
}

.photo_right_top {
  right: 20px;
  width: 210px;
}

.photo_right_bottom {
  right: 30px;
  width: 210px;
}

.organization_content {
  max-width: 660px;

}
}

@media screen and (max-width: 767px) {
	
	.service_title {
    font-size: 2.0rem;
    font-weight: 900;
    margin: 26px 0 20px 0;
    line-height: 1.75;
}
/* ロゴのスマホ表示切り替え */
.hero_logo .pc_logo {
  display: none;
}

.hero_logo .sp_logo {
  display: block;
	width: 90%;
}

.support_organization {
  padding: 50px 0;
}

.support_organization .hl_h2 {
  font-size: 2.4rem;
  padding: 0 20px;
}

.photo_left {
  left: 0px;
  top: 0%;
  width: 90px;
}

.photo_right_top {
  right: 0px;
  top: 25%;
  width: 80px;
}

.photo_right_bottom {
  right: 5px;
  bottom: 0%;
  width: 100px;
}

.organization_content {
  
}

.feature_item p {
  font-size: 1.4rem;
}

.succession_hero {
  padding: 0px 0 50px;
}

.hero_logo {
  margin-bottom: 20px;
}

.hero_logo img {
  max-width: 300px;
}

.hero_title {
  font-size: 2.4rem;
  margin-bottom: 30px;
  
}



.hero_text {
  font-size: 16px;
}

.succession_overview,
.succession_process,
.support_organization,
.related_services {
  padding: 50px 0;
}
	
	.support_organization{
		padding-top: 80px;
	}	

.succession_overview .hl_h2,
.succession_process .hl_h2 {
  font-size: 2.4rem;
  text-align:left;
}

.support_organization .hl_h2 {
  
}

.support_organization .hl_h2 img {
  width: 90%;
  max-width: 300px;
}

.overview_desc,
.process_desc {
  font-size: 1.4rem;
  text-align: left;
	margin-bottom: 32px;
}



/* テーブル用のスクロール設定 */
.process_table_container {
  position: relative;
}

/* スクロール可能であることを示すヒント */
.process_table_container::before {
  content: '← → 横にスワイプできます';
  display: block;
  text-align: center;
  font-size: 1.2rem;
  color: #999;
  animation: fadeInOut 3s infinite;
}

@keyframes fadeInOut {
  0%, 100% { opacity: 0.6; }
  50% { opacity: 1; }
}

.process_table {
  border-spacing: 12px;
  min-width: 700px; /* モバイル時はより大きな最小幅を設定 */
}

.process_table td {
  padding: 8px;
  font-size: 1.4rem;
  
}
	.header_row .th_support {
		width: 30%;
	}
.support_cell{
		font-size: 1.1rem !important;
	}

.header_row td {
  padding: 15px 12px;
  font-size: 1.4rem;
}

.management_cell {
  font-size: 1.4rem;
  width: 80px;
  min-width: 80px;
}

.management_label {
  font-size: 1.4rem;
}

.property_cell {
  width: 100px;
  min-width: 100px;
}

.policy_cell {
  width: 120px;
  min-width: 120px;
}

.support_cell {
  min-width: 300px; /* 内容が多いので十分な幅を確保 */
  white-space: normal; /* サポート内容は改行可能 */
}

.feature_item {
  margin-bottom: 20px;
	gap: 8px;
}
	.organization_features{
		padding: 24px 16px;
	}

.feature_item p {
  font-size: 1.4rem;
}
.service_cta .btn {
    margin: 0 auto;
}

}