/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   グループ会社カード スタイル
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

.group-companies {
	display: flex;
	flex-direction: column;
	gap: 1.5rem;
	margin-bottom: 2rem;
}
.group-card {
	background: var( --c-white );
	border: 1.5px solid var( --c-border );
	border-radius: 20px;
	overflow: hidden;
	box-shadow: 0 4px 24px rgba( 0,0,0,.07 );
	transition: box-shadow .2s, transform .2s;
}
.group-card:hover {
	box-shadow: 0 10px 40px rgba( 0,0,0,.12 );
	transform: translateY( -3px );
}
.group-card__header {
	display: flex;
	align-items: center;
	gap: 1rem;
	padding: 1.1rem 1.5rem;
	background: linear-gradient( 135deg, #EBF2FF 0%, #F3EFFF 100% );
	border-bottom: 1.5px solid var( --c-border );
}
.group-card__flag {
	font-size: 2rem;
	line-height: 1;
	flex-shrink: 0;
}
.group-card__label {
	font-size: .68rem;
	font-weight: 700;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: #0055FF;
	margin-bottom: .15rem;
}
.group-card__name {
	font-size: 1.1rem;
	font-weight: 900;
	color: var( --c-text );
	margin: 0;
	letter-spacing: -.01em;
}
.group-card__body {
	padding: 1.25rem 1.5rem 1.5rem;
}
.group-card__desc {
	font-size: .88rem;
	line-height: 1.8;
	color: var( --c-muted );
	margin-bottom: 1rem;
}
.group-card__table {
	width: 100%;
	border-collapse: collapse;
	font-size: .85rem;
	margin-bottom: 1rem;
}
.group-card__table th {
	width: 8rem;
	padding: .55rem .75rem;
	font-weight: 700;
	color: #0055FF;
	background: linear-gradient( 135deg, #EBF2FF 0%, #F3EFFF 100% );
	border-right: 2px solid var( --c-border );
	border-bottom: 1px solid var( --c-border );
	vertical-align: top;
	white-space: nowrap;
}
.group-card__table td {
	padding: .55rem .75rem;
	color: var( --c-text );
	border-bottom: 1px solid var( --c-border );
	line-height: 1.6;
}
.group-card__table tr:last-child th,
.group-card__table tr:last-child td {
	border-bottom: none;
}
.group-card__links {
	display: flex;
	flex-wrap: wrap;
	gap: .6rem;
	margin-top: 1rem;
}
.group-card__link {
	display: inline-flex;
	align-items: center;
	gap: .4rem;
	padding: .5rem 1.1rem;
	border-radius: 999px;
	font-size: .82rem;
	font-weight: 700;
	text-decoration: none;
	border: 1.5px solid var( --c-border );
	color: var( --c-text );
	transition: border-color .15s, box-shadow .15s, background .15s;
}
.group-card__link:hover {
	border-color: #0055FF;
	box-shadow: 0 2px 12px rgba( 0,85,255,.15 );
	background: #EBF2FF;
	color: #0055FF;
}
.group-card__link--primary {
	background: linear-gradient( 135deg, #0055FF 0%, #7C3AED 100% );
	color: #fff;
	border-color: transparent;
}
.group-card__link--primary:hover {
	background: linear-gradient( 135deg, #0044CC 0%, #6930CC 100% );
	color: #fff;
	box-shadow: 0 4px 16px rgba( 0,85,255,.35 );
}

@media ( max-width: 640px ) {
	.group-card__header { padding: 1rem; }
	.group-card__body   { padding: 1rem; }
	.group-card__table th { width: 5.5rem; white-space: normal; font-size: .78rem; }
	.group-card__links  { flex-direction: column; }
	.group-card__link   { justify-content: center; }
}
