/**
 * 会社概要（page-company.php）用スタイル
 * 強み・代表メッセージ・会社概要・沿革・取引先・アクセス
 *
 * @package emio-techno
 */

/* エミオテクノロジーの強みセクション */
.business-strengths {
	width: 100%;
	padding: 80px 20px 100px;
	margin-top: 48px;
	background-image: url("../img/bg-top-business.png");
	background-size: cover;
	background-position: center center;
	background-repeat: no-repeat;
}

.business-strengths__inner {
	max-width: 1200px;
	margin: 0 auto;
}

.business-strengths__title {
	position: relative;
	margin: 0 0 40px;
	padding-bottom: 12px;
	font-size: 28px;
	font-size: 1.75rem;
	font-weight: 700;
	color: #0f3193;
	line-height: 1.3;
	text-align: center;
}

.business-strengths__title::after {
	content: "";
	position: absolute;
	left: 50%;
	bottom: 0;
	transform: translateX(-50%);
	width: 120px;
	height: 3px;
	background: linear-gradient(90deg, #ffbb5c 0%, rgba(255, 187, 92, 0.6) 100%);
	border-radius: 2px;
}

.business-strengths__list {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 32px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.business-strengths__card {
	padding: 32px 24px;
	background: linear-gradient(180deg, #ffffff 0%, #fafbfc 100%);
	border-radius: 8px;
	box-shadow: 0 4px 12px rgba(15, 49, 147, 0.1);
	text-align: center;
}

.business-strengths__icon {
	display: block;
	width: 64px;
	height: 64px;
	margin: 0 auto 20px;
	object-fit: contain;
}

.business-strengths__card-title {
	margin: 0 0 16px;
	padding-bottom: 12px;
	font-size: 18px;
	font-size: 1.125rem;
	font-weight: 700;
	color: #0f3193;
	line-height: 1.4;
	text-align: center;
	border-bottom: 1px solid #e5e9f0;
}

.business-strengths__card-desc {
	margin: 0;
	font-size: 15px;
	font-size: 0.9375rem;
	line-height: 1.7;
	color: #222222;
	text-align: left;
}

/* 代表メッセージセクション */
.message-section__text {
	margin: 0 0 32px;
	font-size: 16px;
	font-size: 1rem;
	line-height: 1.9;
	color: #222222;
	text-align: left;
}

.message-section__signature {
	margin: 0;
	font-size: 16px;
	font-size: 1rem;
	font-weight: 700;
	line-height: 1.5;
	color: #222222;
	text-align: right;
}

/* 会社概要・沿革セクション（2カラム・背景あしらい） */
.company-profile {
	position: relative;
	padding: 80px 20px 100px;
	background-image: url("../img/company-ashirai-1.png");
	background-size: cover;
	background-position: center center;
	background-repeat: no-repeat;
}

.company-profile__inner {
	max-width: 1200px;
	margin: 0 auto;
}

.company-profile__grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 48px 64px;
}

/* 会社概要が空で沿革のみのとき、右カラム位置に表示 */
.company-profile__grid .company-profile__panel--history:only-child {
	grid-column: 2;
}

/* 会社概要テーブル：1列目=項目（水色背景・青文字）、2列目=内容（白背景） */
.company-profile__table-wrap {
	overflow-x: auto;
}

.company-profile__table-wrap table {
	width: 100%;
	border-collapse: collapse;
	border: none;
}

.company-profile__table-wrap tbody tr {
	border-bottom: 1px solid #e5e9f0;
}

.company-profile__table-wrap tbody tr:last-child {
	border-bottom: none;
}

.company-profile__table-wrap th {
	padding: 12px 16px;
	font-size: 16px;
	font-size: 1rem;
	font-weight: 700;
	color: #0f3193;
	line-height: 1.5;
	text-align: center;
	vertical-align: middle;
	background-color: #e8f4fc;
	border: none;
}

.company-profile__table-wrap td {
	padding: 12px 16px;
	font-size: 16px;
	font-size: 1rem;
	font-weight: 400;
	color: #222222;
	line-height: 1.7;
	text-align: left;
	vertical-align: middle;
	background-color: #ffffff;
	border: none;
}

/* 沿革タイムライン：青丸＋縦線＋日付＋内容 */
.company-history {
	margin: 0;
	padding: 0;
	list-style: none;
}

.company-history__item {
	position: relative;
	padding-left: 28px;
	padding-bottom: 24px;
}

.company-history__item:last-child {
	padding-bottom: 0;
}

/* 青丸 */
.company-history__item::before {
	content: "";
	position: absolute;
	left: 0;
	top: 6px;
	width: 12px;
	height: 12px;
	border-radius: 50%;
	background-color: #0f3193;
}

/* 縦線（最後の項目以外） */
.company-history__item:not(:last-child)::after {
	content: "";
	position: absolute;
	left: 5px;
	top: 20px;
	bottom: -8px;
	width: 2px;
	background-color: #e5e9f0;
}

/* 年月と内容を1行で表示（レスポンシブ時は2行に） */
.company-history__date {
	display: inline;
	margin-right: 0.5em;
	font-size: 16px;
	font-size: 1rem;
	font-weight: 700;
	color: #0f3193;
	line-height: 1.4;
}

.company-history__event {
	display: inline;
	font-size: 16px;
	font-size: 1rem;
	font-weight: 400;
	color: #222222;
	line-height: 1.6;
}

/* 主要取引先・取引金融機関・加入団体セクション */
.company-links {
	padding: 80px 20px 100px;
	background-color: #ffffff;
}

.company-links__inner {
	max-width: 800px;
	margin: 0 auto;
}

.company-links__grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 32px;
}

.company-links__col {
	display: flex;
	flex-direction: column;
	gap: 32px;
}

.company-links__card {
	background-color: #ffffff;
	border-radius: 8px;
	box-shadow: 0 2px 12px rgba(15, 49, 147, 0.08);
	overflow: hidden;
}

.company-links__header {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 20px 24px;
	background-color: #e8f4fc;
}

.company-links__icon {
	flex-shrink: 0;
}

.company-links__title {
	margin: 0;
	font-size: 20px;
	font-size: 1.25rem;
	font-weight: 700;
	color: #0f3193;
	line-height: 1.3;
}

.company-links__list {
	margin: 0;
	padding: 20px 24px 24px;
	list-style: none;
}

.company-links__list li {
	position: relative;
	padding-left: 20px;
	margin-bottom: 8px;
	font-size: 16px;
	font-size: 1rem;
	font-weight: 400;
	color: #222222;
	line-height: 1.6;
}

.company-links__list li:last-child {
	margin-bottom: 0;
}

/* 水色の箇条書き */
.company-links__list li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.6em;
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background-color: #5a75c2;
}

/* アクセスセクション */
.company-access {
	padding: 80px 20px 100px;
	background-color: #f8fafc;
}

.company-access__inner {
	max-width: 1200px;
	margin: 0 auto;
}

.company-access__title {
	margin-bottom: 40px;
}

.company-access__visual {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 32px;
	margin-bottom: 40px;
}

.company-access__image-wrap {
	position: relative;
	aspect-ratio: 4 / 3;
	overflow: hidden;
	border-radius: 8px;
}

.company-access__image {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.company-access__map-wrap {
	position: relative;
	aspect-ratio: 4 / 3;
	overflow: hidden;
	border-radius: 8px;
}

.company-access__map-wrap iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.company-access__info {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 48px;
}

.company-access__address {
	text-align: left;
}

.company-access__label {
	margin: 0 0 12px;
	font-size: 18px;
	font-size: 1.125rem;
	font-weight: 700;
	color: #0f3193;
	line-height: 1.4;
}

.company-access__text {
	margin: 0 0 8px;
	font-size: 16px;
	font-size: 1rem;
	line-height: 1.7;
	color: #222222;
}

.company-access__note {
	margin: 0;
	font-size: 14px;
	font-size: 0.875rem;
	line-height: 1.6;
	color: #666666;
}

.company-access__dl {
	margin: 0;
}

.company-access__dt {
	margin: 0 0 4px;
	font-size: 16px;
	font-size: 1rem;
	font-weight: 700;
	color: #0f3193;
	line-height: 1.4;
}

.company-access__dt:not(:first-child) {
	margin-top: 16px;
}

.company-access__dd {
	margin: 0;
	font-size: 16px;
	font-size: 1rem;
	line-height: 1.6;
	color: #222222;
}