@charset "utf-8";
/* =======================================

	OrganizationElements

======================================= */

/* ------------------------------------
	パーツ
------------------------------------ */
.organization_chart {
	display: block;
	font-size: 16px;
	line-height: 1.5;
	position: relative;
	overflow-x: auto;
	overflow-y: hidden;
}
.organization_chart > ul {
	padding-top: 100px;
	width: 1100px;
	height: 2400px;
}
.organization_chart li {
	position: relative;
	font-weight: 500 !important;
}
.organization_chart .box,
.organization_chart *:has(> .ttl),
.organization_chart .box_list li {
	background: #fff;
	border: 1px solid #cdd6dd;
	display: flex;
	flex-wrap: wrap;
	flex-direction: column;
	min-width: 110px;
	min-height: 60px;
	text-align: center;
	justify-content: center;
	align-items: center;
	position: relative;
	margin-bottom: 40px;
}
.organization_chart .box.ttl {
	width: 100%;
	margin-bottom: 0;
	border: none;
	background: none;
	min-height: 56px;
	padding: 1em 0;
}
.organization_chart *:has(> .ttl) {
	padding: 0 0 4px;
}
.organization_chart .box.institution {
	background: #1C63B7;
	border-color: #1C63B7;
	color: #fff;
}
.organization_chart .box.office,
.organization_chart .box_list li {
	background: #CEE9E9;
	border-color: #CEE9E9;
	font-size: 14px;
	width: 188px;
	margin: 0 8px 40px;
	padding: .4em;
}
.organization_chart .box_list li {
	min-height: 56px;
	margin: 0 auto 4px;
}
.organization_chart ul.list {
	padding: .4em;
}
.organization_chart ul.list li {
	position: relative;
	text-align: left;
	display: list-item;
	font-size: 14px;
}
.organization_chart ul.list li:last-child {
	margin-bottom: 0;
}
.organization_chart small {
	font-size: 12px;
}

/* 罫線のベース */
.organization_chart .box::before,
.organization_chart .box::after,
.organization .dept::before {
	display: block;
	background: #cdd6dd;
	width: 2px;
	height: 40px;
	position: absolute;
	left: calc(50% - 1px);
	top: -41px;
	z-index: -1;
}
.organization_chart .box::before,
.organization .dept::before {
	content: "";
}


/* ------------------------------------
	配置
------------------------------------ */
/* 1階層目　
------------------------------------ */
.organization_chart .organization {
	letter-spacing: -.5em;
}
.organization_chart .organization > li {
	display: inline-block;
	letter-spacing: 0;
	vertical-align: top;
	position: relative;
}
.organization_chart .organization > li + li {
	margin-left: 20px;
}
/* 株主総会 */
.organization_chart .agm .box::before {
	content: none;
}

/* 2階層目
------------------------------------ */
/* 取締役会 */
.organization .directors {
	width: 167px;
}
/* 監査役会 */
.organization .auditors {
	margin-top: -100px;
}
/* 委員会 */
.organization .committee {
	padding: 10px 0;
}

/* 代表取締役社長 */
.organization .president {
	position: absolute;
	width: 204px;
	top: 0;
	right: -224px;
}

/* 3階層目
------------------------------------ */
/* 部署 */
.organization .dept {
	margin-top: 80px;
}
.organization .dept .dept2 {
	position: absolute;
	top: 0;
	left: 224px;
	width: 204px;
}

/* 4階層目?
------------------------------------ */
/* 関連会社 */
.organization .affiliate {
	width: 204px;
	position: absolute;
	left: 448px;
}
.organization .affiliate.domestic {
	top: 0;
}
.organization .affiliate.overseas {
	top: 240px;
}
.organization .affiliate .box_list li {
	background: #D0E9FB;
}


/* ------------------------------------
	罫線
------------------------------------ */
/*	横線
------------------------------------ */
.organization_chart .box.institution::before,
.organization .president .box::before,
.organization .global_strategy > .box::after,
.organization .dept::before {
	width: 41px;
	height: 2px;
	top: calc(50% - 1px);
	left: -41px;
}
/* 150%表示でズレる系線対策 */
.organization .president > .box::before,
.organization .global_strategy > .box::after,
.organization .dept::before {
	border-top: 4px solid #fff;
	box-sizing: content-box;
	margin-top: -4px;
}
.organization .president ul .box::before {
	left: -10px;
}
.organization .president ul .box.office::before {
	left: -18px;
}
.organization .dept::before {
	top: -41px;
	left: -9px;
	width: 224px;
}
.organization .global_strategy > .box::after {
	content: "";
	left: 187px;
	width: 243px;
}
.organization .president .domestic .box::before {
	left: -260px;
	width: 260px;
}

/*	縦線
------------------------------------ */
.organization .auditors::before {
	top: auto;
	bottom: -41px;
}

.organization .president .overseas .box::after,
.organization .president .dept ul li:last-child .box::after {
	content: "";
	top: auto;
	bottom: 27px;
	left: -12px;
	z-index: -2;
}
.organization .president .overseas .box::after {
	height: 240px;
}
.organization .president .dept .dept1 li:last-child .box::after {
	height: 1910px;
}
.organization .president .dept .dept2 li:last-child .box::after {
	height: 477px;
}


/* ------------------------------------
	スクロール注記
------------------------------------ */
.scroll_msg {
	display: none;
}
@media only screen and (max-width: 1279px) {
	.scroll_msg {
		display: block;
		margin-bottom: 1em;
	}
}
