@charset "UTF-8";
#sol-nav-section {
	background: var(--c_white);
	padding: 6rem 1rem 5rem;
}
@media only screen and (max-width: 1023px) {
	#sol-nav-section { padding: 3rem 1rem; }
}
.sol-anchor-nav {
	display: -webkit-box !important;
	display: -ms-flexbox !important;
	display: flex !important;
	-webkit-box-orient: horizontal !important;
	-webkit-box-direction: normal !important;
	-ms-flex-direction: row !important;
	flex-direction: row !important;
	flex-wrap: nowrap !important;
	gap: 2.4rem;
	max-width: 116rem;
	margin: 0 auto;
}
@media only screen and (max-width: 767px) {
	.sol-anchor-nav { gap: 1rem; }
}
.sol-anchor-btn {
	-webkit-box-flex: 1;
	-ms-flex: 1 1 0%;
	flex: 1 1 0%;
	min-width: 0;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	align-items: center;
	gap: 1.6rem;
	font-size: 2rem;
	font-weight: 700;
	color: var(--c_primary_dark);
	background: var(--c_white);
	border: .2rem solid var(--c_primary_dark);
	border-radius: .6rem;
	padding: 2rem 3rem;
	text-decoration: none;
	position: relative;
	white-space: nowrap;
	overflow: hidden;
	transition: color .25s, background .25s, border-color .25s;
}
@media only screen and (max-width: 767px) {
	.sol-anchor-btn { font-size: 1.4rem; padding: 1.4rem 1.2rem; gap: .6rem; }
}
.sol-anchor-btn:hover {
	color: var(--c_white);
	background: var(--c_primary_dark);
	border-color: var(--c_primary_dark);
}
/* アイコン（左） */
.sol-anchor-icon {
	width: 4rem;
	height: 4rem;
	-webkit-box-flex: 0;
	-ms-flex: none;
	flex: none;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 100vw;
	font-size: 2rem;
	line-height: 1;
	transition: background .25s;
	background: var(--c_white);
	border-radius: 100vw;
}
/* テキスト（中央・flex: 1） */
.sol-anchor-text {
	-webkit-box-flex: 1;
	-ms-flex: 1;
	flex: 1;
}
/* 矢印（右端） */
.sol-anchor-arrow {
	-webkit-box-flex: 0;
	-ms-flex: none;
	flex: none;
	font-size: 1.6rem;
	color: var(--c_primary_dark);
	transition: color .25s;
}
.sol-anchor-btn:hover .sol-anchor-arrow {
	color: var(--c_white);
}

/* ── セクション共通 ──────────────────────── */
.sol-section {
	padding: 8rem 1rem;
	scroll-margin-top: 2rem;
}
@media only screen and (max-width: 1023px) { .sol-section { padding: 5rem 1rem; } }
.sol-section > .wrapper { max-width: 116rem; margin: auto; }


/* ── sol-section 内の見出しは縮小しない */
#sol-industry .section-ttl .ttl,
#sol-issue .section-ttl .ttl {
	font-size: 3.6rem !important;
}
@media only screen and (max-width: 1023px) {
	#sol-industry .section-ttl .ttl,
	#sol-issue .section-ttl .ttl {
		font-size: 3.2rem !important;
	}
}

/* 各セクション背景 */
#sol-industry { background: var(--bg_base); }
#sol-issue { background: var(--c_white); }




.sol-industry-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 2.4rem;
	margin-top: 4rem;
}
@media only screen and (max-width: 1023px) {
	.sol-industry-grid { grid-template-columns: repeat(2, 1fr); gap: 1.4rem; margin-top: 2.5rem; }
}
@media only screen and (max-width: 480px) { .sol-industry-grid { grid-template-columns: 1fr; } }

.sol-industry-card {
	background: var(--c_white);
	border: .1rem solid var(--bdr_gray);
	border-radius: 1.6rem;
	display: flex;
	flex-flow: column;
	overflow: hidden;
	text-decoration: none;
	transition: box-shadow .25s, transform .25s, border-color .25s;
}
@media only screen and (min-width: 1024px) {
	.sol-industry-card:hover {
		box-shadow: 0 0 2rem rgba(0,0,0,.12);
		transform: translateY(-.4rem);
		border-color: var(--c_primary);
	}
}
.sol-industry-card-head {
	background: var(--bg_primary_pale);
	padding: 2.4rem 2rem 2rem;
	display: flex;
	align-items: center;
	gap: 1.4rem;
}
@media only screen and (max-width: 1023px) { .sol-industry-card-head { padding: 1.6rem 1.4rem; } }
.sol-industry-icon {
	width: 6rem;
	height: 6rem;
	background: var(--c_white);
	border-radius: 100vw !important;
	display: flex;
	align-items: center;
	justify-content: center;
	flex: none;
	font-size: 2.8rem;
	border: .1rem solid var(--bdr_gray);
	transition: background .25s;
}
.sol-industry-card:hover .sol-industry-card-head {
	background: var(--c_primary_dark);
	transition: background .25s;
}
.sol-industry-card:hover .sol-industry-name {
	color: var(--c_white);
}
.sol-industry-card:hover .sol-industry-card-body {
	background: var(--bg_primary_pale);
}
.sol-industry-icon img {
	width: 48px;
	height: 48px;
	display: block;
	object-fit: contain;
}
.sol-industry-name { font-size: 2rem; font-weight: 700; color: var(--c_primary_dark); line-height: 1.4; }
@media only screen and (max-width: 1023px) { .sol-industry-name { font-size: 1.6rem; } }
.sol-industry-card-body { padding: 2rem 2rem 2.4rem; flex: 1; display: flex; flex-flow: column; }
.sol-industry-issues { display: flex; flex-flow: column; gap: .6rem; flex: 1; margin-bottom: 2rem; }
.sol-industry-issues li {
	font-size: 1.4rem; font-weight: 500; line-height: 1.6; color: var(--c_txt);
	display: flex; align-items: baseline; gap: .5rem;
}
.sol-industry-issues li::before { content: "・"; color: var(--c_primary); font-weight: 700; flex: none; }
.sol-industry-link {
	display: flex; align-items: center; justify-content: flex-end; gap: .5rem;
	font-size: 1.4rem; font-weight: 700; color: var(--c_primary_dark); transition: color .25s;
}
@media only screen and (min-width: 1024px) {
	.sol-industry-card:hover .sol-industry-link { color: var(--c_accent); }
}
.sol-industry-link::after { content: "→"; font-size: 1.2rem; }

.sol-issue-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 2rem;
	margin-top: 4rem;
}
@media only screen and (max-width: 1023px) {
	.sol-issue-grid {
		grid-template-columns: repeat(2, 1fr);
		gap: 1.2rem;
		margin-top: 2.5rem;
	}
}
.sol-issue-card {
	background: var(--c_white);
	border: .1rem solid var(--bdr_gray);
	border-radius: 1.4rem;
	padding: 2.8rem 1.6rem 2.4rem;
	display: flex; flex-flow: column; align-items: center;
	text-align: center;
	text-decoration: none;
	gap: 1.2rem;
	transition: box-shadow .25s, transform .25s, border-color .25s, background .25s;
}
@media only screen and (max-width: 1023px) { .sol-issue-card { padding: 2rem 1rem; gap: .8rem; } }
.sol-issue-card:hover {
	box-shadow: 0 0 2rem rgba(0,0,0,.12);
	transform: translateY(-.4rem);
	border-color: var(--c_primary);
	background: var(--bg_primary_pale);
}
.sol-issue-icon {
	width: 7.2rem;
	height: 7.2rem;
	display: block;
	object-fit: contain;
}
@media only screen and (max-width: 1023px) {
	.sol-issue-icon { width: 5.6rem; height: 5.6rem; }
}
@media only screen and (min-width: 1024px) {
	.sol-issue-card:hover .sol-issue-icon { background: var(--c_primary_dark); }
}
.sol-issue-name { 
	font-size: 1.6rem;
	font-weight: 700;
	color: var(--c_primary_dark);
	line-height: 1.5;
	text-align: center;
	width: 100%;
}
@media only screen and (max-width: 1023px) {
	.sol-issue-name {
		font-size: 1.4rem;
	}
}
.sol-issue-desc {
	font-size: 1.3rem;
	color: var(--c_txt_pale);
	line-height: 1.7;
	text-align: center;
	width: 100%;
}

/* ── KV─ */
#sol-kv {
	background: var(--c_primary);
	padding: 6rem 1rem;
}
@media only screen and (max-width: 1023px) {
	#sol-kv { padding: 5rem 1rem; }
}
@media only screen and (max-width: 767px) {
	#sol-kv { padding: 3rem 1rem; }
}
#sol-kv h1 {
	max-width: 116rem;
	margin: 0 auto;
	font-size: 4.8rem;
	font-weight: 900;
	color: var(--c_white);
	line-height: 1.4;
	letter-spacing: .02em;
}
@media only screen and (max-width: 1023px) {
	#sol-kv h1 { font-size: 3.2rem; }
}
@media only screen and (max-width: 767px) {
	#sol-kv h1 { font-size: 2.4rem; }
}