.site-header,
.site-footer,
.page-header,
.breadcrumb,
.site-body,
.vk-mobile-nav {
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
}

.site-header {
	border-bottom: 1px solid rgba(27, 33, 93, 0.1);
	background: rgba(255, 255, 255, 0.96);
	box-shadow: 0 8px 28px rgba(20, 56, 105, 0.08);
}

.site-header-container {
	align-items: center;
}

.site-header-logo > a {
	display: inline-block !important;
}

.site-header-logo .water-brand-logo {
	display: block;
	width: auto;
	height: 52px;
}

.global-nav-list > li > a {
	margin: 0.25rem;
	border-radius: 999px;
	color: #263348;
	transition: color 0.2s ease, background-color 0.2s ease;
}

.global-nav-list > li > a:hover,
.global-nav-list > li > a:focus,
.global-nav-list > .current-menu-item > a {
	background: #edf5ff;
	color: #16366f;
}

.ltg-slide .ltg-slide-text-title {
	font-size: 2rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	line-height: 1.5;
	text-shadow: 0 2px 8px rgba(0, 20, 55, 0.75) !important;
}

.page-header {
	padding: 2.4rem 0;
	background:
		radial-gradient(circle at 80% 0%, rgba(102, 205, 255, 0.32), transparent 42%),
		linear-gradient(135deg, #101f50, #245d9a);
}

.page-header-title {
	color: #fff;
	font-size: clamp(1.8rem, 4vw, 2.6rem);
	font-weight: 700;
	letter-spacing: 0.04em;
	text-shadow: 0 2px 12px rgba(0, 20, 55, 0.3);
}

.breadcrumb {
	border-bottom: 1px solid #dbeaff;
	background: #f7fbff;
	color: #60708a;
}

.breadcrumb a {
	color: #315f91;
}

.site-footer {
	border-top: 0;
	background:
		radial-gradient(circle at top right, rgba(79, 181, 255, 0.18), transparent 38%),
		linear-gradient(145deg, #101b45, #172a61);
	color: rgba(255, 255, 255, 0.78);
}

.site-footer a,
.footer-nav-list li a {
	color: #fff;
}

.footer-nav {
	border-bottom-color: rgba(255, 255, 255, 0.15);
}

.site-footer-copyright {
	font-size: 0.85rem;
}

.vk-mobile-nav-menu-btn {
	top: 12px !important;
	right: 12px !important;
	left: auto !important;
	width: 48px !important;
	height: 48px !important;
	border: 1px solid rgba(27, 33, 93, 0.12);
	border-radius: 50%;
	background-color: rgba(255, 255, 255, 0.96) !important;
	background-position: center !important;
	background-size: 24px !important;
	box-shadow: 0 10px 26px rgba(20, 56, 105, 0.2);
	font-size: 0;
}

.page_top_btn {
	right: 18px;
	bottom: 18px;
	width: 48px;
	height: 48px;
	border: 1px solid rgba(255, 255, 255, 0.25);
	border-radius: 50%;
	background: linear-gradient(145deg, #1c4380, #122757);
	box-shadow: 0 10px 26px rgba(20, 56, 105, 0.28);
	color: #fff;
	font-size: 0;
	line-height: 48px;
	opacity: 0.92;
}

.page_top_btn::before {
	font-size: 1.3rem;
	content: "↑";
}

.page_top_btn:hover,
.page_top_btn:focus {
	background: linear-gradient(145deg, #26599f, #17336e);
	color: #fff;
	opacity: 1;
}

@media (max-width: 991.98px) {
	.site-header-logo .water-brand-logo {
		height: 50px;
	}
}

.company-introduction {
	margin-bottom: 3.5rem;
	padding: 2.5rem;
	border: 1px solid #dbeaff;
	border-radius: 28px;
	background:
		radial-gradient(circle at top right, rgba(109, 197, 255, 0.18), transparent 38%),
		linear-gradient(145deg, #f9fcff 0%, #f0f7ff 100%);
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
	box-shadow: 0 24px 60px rgba(20, 56, 105, 0.1);
}

.company-introduction h6.wp-block-heading {
	margin-bottom: 1rem;
	color: #132b58;
	font-family: inherit;
	font-size: 1.35rem;
	font-weight: 700;
	letter-spacing: 0.03em;
	line-height: 1.5;
}

.company-introduction p.wp-block-paragraph {
	color: #42516a;
	font-family: inherit;
	font-size: 1rem;
	font-weight: 400;
	letter-spacing: 0.01em;
	line-height: 1.9;
}

.company-introduction-image {
	display: block;
	width: 100%;
	max-height: 480px;
	height: auto;
	margin-top: 1.5rem;
	border-radius: 22px;
	box-shadow: 0 18px 40px rgba(20, 56, 105, 0.16);
	object-fit: cover;
}

.keice-soft-introduction,
.ai-support-section {
	margin: 3.5rem 0;
	padding: 2.5rem;
	border: 1px solid #dbeaff;
	border-radius: 28px;
	background:
		radial-gradient(circle at top right, rgba(109, 197, 255, 0.22), transparent 38%),
		linear-gradient(145deg, #f7fbff 0%, #edf5ff 100%);
	color: #263348;
	box-shadow: 0 24px 60px rgba(20, 56, 105, 0.12);
}

.keice-soft-introduction .keice-soft-brand {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 1rem;
	margin: 1.5rem auto 2rem;
}

.keice-soft-introduction .keice-soft-symbol {
	display: block;
	width: 72px;
	height: auto;
	flex: 0 0 auto;
}

.keice-soft-introduction .keice-soft-wordmark {
	display: block;
	width: min(320px, calc(100% - 88px));
	height: auto;
}

.keice-soft-introduction h2,
.ai-support-section h2 {
	margin-top: 0;
	color: #132b58;
	font-size: 1.8rem;
	text-align: center;
}

.keice-soft-introduction p {
	max-width: 850px;
	margin-right: auto;
	margin-bottom: 1.5rem;
	margin-left: auto;
	color: #42516a;
	line-height: 1.9;
}

.keice-soft-introduction p:last-child {
	margin-bottom: 0;
	text-align: center;
}

.keice-soft-introduction a {
	display: inline-block;
	padding: 0.75rem 1.5rem;
	border-radius: 999px;
	background: #16366f;
	color: #fff;
	font-weight: 700;
	text-decoration: none;
	box-shadow: 0 8px 20px rgba(30, 78, 135, 0.2);
}

.keice-soft-introduction a:hover,
.keice-soft-introduction a:focus {
	background: #0d2552;
	color: #fff;
}

.ai-support-section .ai-support-cta {
	margin: 2rem 0 0;
	text-align: center;
}

.ai-support-section .ai-support-cta a {
	display: inline-block;
	padding: 0.85rem 1.7rem;
	border-radius: 999px;
	background: #16366f;
	color: #fff;
	font-weight: 700;
	text-decoration: none;
	box-shadow: 0 8px 20px rgba(30, 78, 135, 0.2);
	transition: transform 0.2s ease, background-color 0.2s ease, box-shadow 0.2s ease;
}

.ai-support-section .ai-support-cta a:hover,
.ai-support-section .ai-support-cta a:focus {
	transform: translateY(-2px);
	background: #0d2552;
	color: #fff;
	box-shadow: 0 12px 26px rgba(30, 78, 135, 0.26);
}

.ai-support-section {
	position: relative;
}

.ai-support-section .ai-support-lead {
	max-width: 850px;
	margin: 0 auto 2rem;
	color: #42516a;
	line-height: 1.9;
}

.ai-support-section .ai-support-image {
	display: block;
	width: 100%;
	margin: 0 auto 2rem;
	border-radius: 20px;
	box-shadow: 0 16px 35px rgba(20, 56, 105, 0.18);
}

.ai-support-section h3 {
	margin: 0 0 0.75rem;
	color: #16366f;
	font-size: 1.1rem;
}

.ai-support-section .ai-support-card h3 {
	padding-bottom: 0;
	border-bottom: 0;
}

.ai-support-section .ai-support-card h3::after {
	display: none;
}

.ai-support-section .ai-support-services {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1rem;
	margin-top: 1rem;
}

.ai-support-section .ai-support-card {
	position: relative;
	padding: 1.5rem 1.5rem 1.5rem 1.75rem;
	overflow: hidden;
	border: 1px solid rgba(122, 174, 229, 0.3);
	border-radius: 20px;
	background: rgba(255, 255, 255, 0.9);
	color: #303c4e;
	box-shadow: 0 10px 26px rgba(30, 78, 135, 0.1);
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.ai-support-section .ai-support-card::before {
	position: absolute;
	top: 1.65rem;
	left: 0.65rem;
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: linear-gradient(135deg, #4fb5ff, #7069e8);
	box-shadow: 0 0 0 5px rgba(79, 181, 255, 0.13);
	content: "";
}

.ai-support-section .ai-support-card:hover {
	transform: translateY(-3px);
	box-shadow: 0 16px 35px rgba(30, 78, 135, 0.16);
}

.ai-support-section .ai-support-card p {
	margin-bottom: 0;
	font-size: 0.95rem;
	line-height: 1.7;
}

.company-profile,
.contact-page-content {
	padding: 2.5rem;
	border: 1px solid #dbeaff;
	border-radius: 28px;
	background:
		radial-gradient(circle at top right, rgba(109, 197, 255, 0.16), transparent 40%),
		linear-gradient(145deg, #f9fcff 0%, #f0f7ff 100%);
	box-shadow: 0 24px 60px rgba(20, 56, 105, 0.1);
}

.company-profile-table {
	margin: 0;
	overflow: hidden;
	border: 1px solid #dbeaff;
	border-radius: 20px;
	background: rgba(255, 255, 255, 0.92);
	box-shadow: 0 12px 30px rgba(20, 56, 105, 0.08);
}

.company-profile-table table {
	margin: 0;
	border: 0;
}

.company-profile-table td {
	padding: 1.1rem 1.25rem;
	border-color: #dbeaff;
	line-height: 1.8;
}

.company-profile-table td:first-child {
	width: 28%;
	background: #edf5ff;
	color: #16366f;
	font-weight: 700;
}

.static-contact {
	max-width: 760px;
	margin: 0 auto;
}

.static-contact-form > p {
	margin-bottom: 1.5rem;
	color: #16366f;
	font-weight: 700;
	line-height: 1.7;
}

.static-contact-form input[type="text"],
.static-contact-form input[type="email"],
.static-contact-form textarea {
	width: 100%;
	margin-top: 0.5rem;
	padding: 0.9rem 1rem;
	border: 1px solid #c9ddf4;
	border-radius: 14px;
	background: rgba(255, 255, 255, 0.94);
	color: #263348;
	box-shadow: inset 0 1px 3px rgba(20, 56, 105, 0.05);
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.static-contact-form input[type="text"]:focus,
.static-contact-form input[type="email"]:focus,
.static-contact-form textarea:focus {
	border-color: #64aee8;
	outline: 0;
	box-shadow: 0 0 0 4px rgba(79, 181, 255, 0.16);
}

.static-contact-form input[type="submit"] {
	min-width: 180px;
	padding: 0.85rem 1.8rem;
	border: 0;
	border-radius: 999px;
	background: #16366f;
	color: #fff;
	font-weight: 700;
	box-shadow: 0 8px 20px rgba(30, 78, 135, 0.2);
	transition: transform 0.2s ease, background-color 0.2s ease;
}

.static-contact-form input[type="submit"]:hover,
.static-contact-form input[type="submit"]:focus {
	transform: translateY(-2px);
	background: #0d2552;
}

.static-contact-form > p:last-of-type {
	margin-bottom: 0;
	text-align: center;
}

.static-contact-field {
	display: none;
}

@media (max-width: 767.98px) {
	.ltg-slide .ltg-slide-text-title {
		font-size: clamp(1.05rem, 5vw, 1.35rem);
		letter-spacing: 0.02em;
		white-space: nowrap;
	}

	.page-header {
		padding: 1.8rem 0;
	}

	.company-introduction,
	.keice-soft-introduction {
		padding: 1.5rem;
		border-radius: 20px;
	}

	.keice-soft-introduction .keice-soft-symbol {
		width: 56px;
	}

	.keice-soft-introduction .keice-soft-wordmark {
		width: calc(100% - 72px);
	}

	.ai-support-section {
		padding: 1.5rem;
		border-radius: 20px;
	}

	.company-profile,
	.contact-page-content {
		padding: 1.25rem;
		border-radius: 20px;
	}

	.company-profile-table {
		overflow: hidden;
		border: 0;
		border-radius: 14px;
		background: transparent;
		box-shadow: none;
	}

	.company-profile-table table {
		display: block;
		width: 100%;
		min-width: 0;
		border: 0;
		background: transparent;
	}

	.company-profile-table tbody,
	.company-profile-table tr,
	.company-profile-table td {
		display: block;
		width: 100%;
		box-sizing: border-box;
	}

	.company-profile-table tbody {
		display: grid;
		gap: 1rem;
	}

	.company-profile-table tr {
		overflow: hidden;
		border: 1px solid #dbeaff;
		border-radius: 14px;
		background: rgba(255, 255, 255, 0.94);
		box-shadow: 0 8px 22px rgba(20, 56, 105, 0.08);
	}

	.company-profile-table td {
		border: 0;
		overflow-wrap: anywhere;
	}

	.company-profile-table td:first-child {
		width: 100%;
		padding: 0.75rem 1rem;
		border-bottom: 1px solid #dbeaff;
	}

	.company-profile-table td:last-child {
		padding: 1rem;
	}

	.ai-support-section .ai-support-services {
		grid-template-columns: 1fr;
	}

	.page_top_btn {
		right: 12px;
		bottom: 12px;
	}
}
