/* pages-business.css — /about/business/ Bento mosaic + Group flow + Partner cards (旧 pages-features.css 1-327) */

/* ==========================================================================
   /about/business/ — Group cards & Partner cards
   ========================================================================== */
.worso-page__lead {
	font-size: var(--worso-fs-md);
	line-height: 1.85;
	color: var(--worso-ink);
	margin: 0 0 28px;
	max-width: 80ch;
}

/* ----- Bento mosaic (事業領域) ----- */
.worso-page__bento {
	display: grid;
	grid-template-columns: repeat(6, 1fr);
	grid-auto-rows: minmax(180px, auto);
	gap: var(--worso-sp-4);
	margin: 0 0 16px;
}
.worso-page__bento-item {
	position: relative;
	overflow: hidden;
	background: var(--worso-white);
	border: 1px solid var(--worso-border);
	border-radius: 20px;
	transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease;
	display: flex;
	flex-direction: column;
}
.worso-page__bento-item:hover {
	transform: translateY(-3px);
	border-color: var(--worso-lime-bdr);
	box-shadow: 0 12px 28px rgba(18, 124, 9, .08);
}
.worso-page__bento-item:nth-child(1) { grid-column: span 4; }
.worso-page__bento-item:nth-child(2) { grid-column: span 2; }
.worso-page__bento-item:nth-child(3) { grid-column: span 2; }
.worso-page__bento-item:nth-child(4) { grid-column: span 2; }
.worso-page__bento-item:nth-child(5) { grid-column: span 2; }

.worso-page__bento-watermark {
	position: absolute;
	right: -10px;
	bottom: -36px;
	font-family: var(--worso-font-en, inherit);
	font-size: clamp(120px, 18vw, 220px);
	font-weight: 800;
	line-height: 1;
	color: var(--worso-lime-dk);
	opacity: .06;
	letter-spacing: -0.02em;
	pointer-events: none;
	user-select: none;
}
.worso-page__bento-inner {
	position: relative;
	z-index: 1;
	padding: 28px 28px 26px;
	display: flex;
	flex-direction: column;
	gap: 10px;
	height: 100%;
}
.worso-page__bento-num {
	font-family: var(--worso-font-en, inherit);
	font-size: var(--worso-fs-xs);
	font-weight: 700;
	letter-spacing: .14em;
	color: var(--worso-lime-dk);
}
.worso-page__bento-title {
	font-size: var(--worso-fs-lg);
	font-weight: 700;
	color: var(--worso-ink-dk);
	margin: 0;
	line-height: 1.4;
}
.worso-page__bento-desc {
	font-size: var(--worso-fs-base);
	line-height: 1.75;
	color: var(--worso-ink);
	margin: 0;
}

/* Hero variant (item 01) — soft flagship with lime accent */
.worso-page__bento-item--hero {
	background:
		radial-gradient(circle at 100% 0%, var(--worso-lime-bg) 0%, rgba(255, 255, 255, 0) 55%),
		var(--worso-white);
	border-color: var(--worso-lime-bdr);
}
.worso-page__bento-item--hero::before {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	width: 4px;
	background: var(--worso-lime-dk);
	border-radius: 20px 0 0 20px;
	z-index: 2;
}
.worso-page__bento-item--hero .worso-page__bento-inner { padding: 28px 32px 26px 36px; gap: 10px; }
.worso-page__bento-item--hero .worso-page__bento-title { font-size: var(--worso-fs-xl); line-height: 1.35; }
.worso-page__bento-item--hero .worso-page__bento-desc { font-size: var(--worso-fs-base); }
.worso-page__bento-icon {
	width: 52px;
	height: 52px;
	border-radius: 14px;
	background: var(--worso-lime-bg);
	color: var(--worso-lime-dk);
	border: 1px solid var(--worso-lime-bdr);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 4px;
	transition: background .2s ease, color .2s ease, border-color .2s ease;
}
.worso-page__bento-item--hero:hover .worso-page__bento-icon {
	background: var(--worso-lime);
	color: var(--worso-ink-dk);
	border-color: var(--worso-lime);
}
.worso-page__bento-item--hero .worso-page__bento-watermark { opacity: .08; }
.worso-page__bento-item--hero:hover { border-color: var(--worso-lime-dk); box-shadow: 0 12px 28px rgba(18, 124, 9, .10); }

/* Future variant (item 05) — lime accent */
.worso-page__bento-item--future {
	background: linear-gradient(135deg, var(--worso-lime-bg) 0%, rgba(255, 255, 255, .6) 100%);
	border-color: var(--worso-lime-bdr);
	border-style: dashed;
}
.worso-page__bento-item--future .worso-page__bento-watermark { color: var(--worso-lime-dk); opacity: .10; }
.worso-page__bento-item--future:hover { border-style: solid; }
.worso-page__bento-badge {
	display: inline-flex;
	align-self: flex-start;
	margin-top: 4px;
	padding: var(--worso-sp-1) var(--worso-sp-3);
	background: var(--worso-lime-dk);
	color: var(--worso-white);
	border-radius: 999px;
	font-family: var(--worso-font-en, inherit);
	font-size: var(--worso-fs-2xs);
	font-weight: 700;
	letter-spacing: .1em;
	text-transform: uppercase;
}

@media (max-width: 1024px) {
	.worso-page__bento { grid-template-columns: repeat(2, 1fr); grid-auto-rows: minmax(160px, auto); }
	.worso-page__bento-item:nth-child(1) { grid-column: span 2; }
	.worso-page__bento-item:nth-child(2),
	.worso-page__bento-item:nth-child(3),
	.worso-page__bento-item:nth-child(4),
	.worso-page__bento-item:nth-child(5) { grid-column: span 1; }
	.worso-page__bento-item--hero .worso-page__bento-title { font-size: var(--worso-fs-lg); }
}
@media (max-width: 640px) {
	.worso-page__bento { grid-template-columns: 1fr; gap: 12px; }
	.worso-page__bento-item,
	.worso-page__bento-item:nth-child(n) { grid-column: span 1; grid-row: auto; }
	.worso-page__bento-inner { padding: 22px 22px 20px; }
	.worso-page__bento-item--hero .worso-page__bento-inner { padding: 24px 22px 22px 28px; }
	.worso-page__bento-watermark { font-size: 110px; right: -8px; bottom: -22px; }
}

/* ----- Group flow (関連会社 — connected nodes) ----- */
.worso-page__group-flow {
	list-style: none !important;
	margin: 0 0 16px !important;
	padding: 32px 28px !important;
	background: linear-gradient(135deg, var(--worso-lime-bg) 0%, rgba(255, 255, 255, 0) 100%);
	border: 1px solid var(--worso-lime-bdr);
	border-radius: 20px;
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: var(--worso-sp-4);
	position: relative;
}
.worso-page__group-flow::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 60px;
	right: 60px;
	height: 2px;
	background: repeating-linear-gradient(90deg, var(--worso-lime-dk) 0 6px, transparent 6px 12px);
	z-index: 0;
	opacity: .35;
}
.worso-page__group-node {
	position: relative;
	z-index: 1;
	background: var(--worso-white);
	border: 1px solid var(--worso-lime-bdr);
	border-radius: 14px;
	padding: 22px 16px 20px;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: var(--worso-sp-3);
	text-align: center;
	transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease;
	margin: 0 !important;
}
.worso-page__group-node:hover {
	transform: translateY(-3px);
	border-color: var(--worso-lime-dk);
	box-shadow: 0 10px 24px rgba(18, 124, 9, .10);
}
.worso-page__group-bullet {
	width: 36px;
	height: 36px;
	border-radius: 50%;
	background: var(--worso-lime-dk);
	color: var(--worso-white);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-family: var(--worso-font-en, inherit);
	font-size: var(--worso-fs-xs);
	font-weight: 700;
	letter-spacing: .04em;
	flex-shrink: 0;
}
.worso-page__group-name {
	font-size: var(--worso-fs-sm);
	font-weight: 700;
	color: var(--worso-ink-dk);
	line-height: 1.5;
}

@media (max-width: 1024px) {
	.worso-page__group-flow { grid-template-columns: repeat(2, 1fr); padding: var(--worso-sp-6) var(--worso-sp-5) !important; }
	.worso-page__group-flow::before { display: none; }
}
@media (max-width: 640px) {
	.worso-page__group-flow { grid-template-columns: 1fr; }
}

/* ----- Partner cards (主な提携・取引先) ----- */
.worso-page__partner-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: var(--worso-sp-5);
	margin: 0 0 8px;
}
.worso-page__partner-card {
	background: var(--worso-white);
	border: 1px solid var(--worso-border);
	border-radius: 16px;
	padding: 26px 24px 24px;
	display: flex;
	flex-direction: column;
	transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}
.worso-page__partner-card:hover {
	transform: translateY(-2px);
	border-color: var(--worso-lime-bdr);
	box-shadow: 0 10px 28px rgba(18, 124, 9, 0.06);
}
.worso-page__partner-head {
	display: flex;
	align-items: center;
	gap: var(--worso-sp-3);
	padding-bottom: 16px;
	margin-bottom: 16px;
	border-bottom: 1px solid var(--worso-border);
}
.worso-page__partner-icon {
	width: 42px;
	height: 42px;
	border-radius: 12px;
	background: var(--worso-lime-bg);
	color: var(--worso-lime-dk);
	border: 1px solid var(--worso-lime-bdr);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	transition: background .2s ease, color .2s ease, border-color .2s ease;
}
.worso-page__partner-card:hover .worso-page__partner-icon {
	background: var(--worso-lime);
	color: var(--worso-ink-dk);
	border-color: var(--worso-lime);
}
.worso-page__partner-title {
	font-size: var(--worso-fs-md);
	font-weight: 700;
	color: var(--worso-ink-dk);
	margin: 0;
	line-height: 1.4;
}
.worso-page__partner-list {
	list-style: none !important;
	margin: 0 !important;
	padding: 0 !important;
	display: flex;
	flex-direction: column;
	gap: 10px;
}
.worso-page__partner-list li {
	position: relative;
	padding: 0 0 0 18px !important;
	font-size: var(--worso-fs-sm);
	line-height: 1.65;
	color: var(--worso-ink);
	margin: 0 !important;
}
.worso-page__partner-list li::before {
	content: "" !important;
	position: absolute;
	top: 9px;
	left: 2px;
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: var(--worso-lime-dk);
	display: block !important;
}

@media (max-width: 1024px) {
	.worso-page__partner-grid { grid-template-columns: 1fr; gap: 16px; }
}

