/*
 * KMYC renewal layer
 * This stylesheet intentionally styles existing WordPress and Lightning markup
 * only. It does not change page content, templates, URLs or editor data.
 */
:root {
	--kmyc-ink: #17263a;
	--kmyc-muted: #5e6d7f;
	--kmyc-brand: #176b9a;
	--kmyc-brand-dark: #0f4f79;
	--kmyc-accent: #2c958d;
	--kmyc-surface: #f5f8fa;
	--kmyc-border: #dce5ea;
	--kmyc-shadow: 0 14px 34px rgba(23, 38, 58, 0.09);
	--kmyc-radius: 16px;
	--kmyc-content-width: 1160px;
}

html {
	overflow-x: clip;
}

body {
	min-width: 0;
	overflow-x: hidden;
	background: #fff;
	color: var(--kmyc-ink);
	font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", Meiryo, sans-serif;
	font-feature-settings: "palt" 1;
	letter-spacing: 0.025em;
	line-height: 1.9;
}

body :where(img, svg, video, iframe) {
	max-width: 100%;
}

.site-content,
.site-content .container,
.entry-body {
	min-width: 0;
}

.site-content .container {
	max-width: var(--kmyc-content-width);
}

.entry-body > :where(.wp-block-group, .wp-block-columns, .wp-block-media-text, .wp-block-cover, .wp-block-table, .wp-block-image) {
	margin-top: clamp(2.5rem, 6vw, 5.5rem);
	margin-bottom: 0;
}

.entry-body > :first-child {
	margin-top: 0;
}

.entry-body :where(p, li) {
	line-height: 1.95;
}

.entry-body :where(h1, h2, h3, h4) {
	color: var(--kmyc-ink);
	font-weight: 700;
	letter-spacing: 0.04em;
	line-height: 1.35;
	text-wrap: balance;
}

.entry-body h1,
.page-header-title {
	font-size: clamp(2rem, 4.2vw, 3.3rem);
	letter-spacing: 0.06em;
}

.entry-body h2 {
	position: relative;
	margin-top: clamp(3rem, 7vw, 6rem);
	padding: 0 0 0.7rem;
	font-size: clamp(1.55rem, 3vw, 2.25rem);
	border-bottom: 1px solid var(--kmyc-border);
}

.entry-body h2::after {
	position: absolute;
	bottom: -1px;
	left: 0;
	width: 3.2rem;
	height: 3px;
	background: var(--kmyc-accent);
	border-radius: 99px;
	content: "";
}

.entry-body h3 {
	margin-top: clamp(2.2rem, 5vw, 3.8rem);
	font-size: clamp(1.2rem, 2.2vw, 1.55rem);
}

.entry-body :where(a:not(.wp-block-button__link, .btn)) {
	color: var(--kmyc-brand-dark);
	text-decoration-color: rgba(23, 107, 154, 0.35);
	text-decoration-thickness: 1px;
	text-underline-offset: 0.18em;
	transition: color 180ms ease, text-decoration-color 180ms ease;
}

.entry-body :where(a:not(.wp-block-button__link, .btn)):hover,
.entry-body :where(a:not(.wp-block-button__link, .btn)):focus-visible {
	color: var(--kmyc-accent);
	text-decoration-color: currentcolor;
}

:where(.wp-block-button__link, .btn, input[type="submit"], button[type="submit"]) {
	min-height: 48px;
	padding: 0.78rem 1.35rem;
	border: 1px solid var(--kmyc-brand);
	border-radius: 999px;
	background: var(--kmyc-brand);
	box-shadow: 0 6px 14px rgba(23, 107, 154, 0.16);
	color: #fff;
	font-weight: 700;
	letter-spacing: 0.06em;
	line-height: 1.35;
	transition: background-color 180ms ease, border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}

:where(.wp-block-button__link, .btn, input[type="submit"], button[type="submit"]):hover,
:where(.wp-block-button__link, .btn, input[type="submit"], button[type="submit"]):focus-visible {
	border-color: var(--kmyc-brand-dark);
	background: var(--kmyc-brand-dark);
	box-shadow: 0 10px 22px rgba(15, 79, 121, 0.24);
	color: #fff;
	transform: translateY(-2px);
}

:where(a, button, input, select, textarea):focus-visible {
	outline: 3px solid rgba(44, 149, 141, 0.55);
	outline-offset: 3px;
}

.entry-body :where(.wp-block-image img, .wp-block-media-text__media img, .wp-block-cover__image-background, .wp-post-image) {
	border-radius: var(--kmyc-radius);
}

.entry-body :where(.wp-block-media-text, .wp-block-group.is-style-vk-group-solid-roundcorner) {
	border: 1px solid var(--kmyc-border);
	border-radius: var(--kmyc-radius);
	background: #fff;
	box-shadow: var(--kmyc-shadow);
	overflow: hidden;
}

/* Utility class available for future Gutenberg groups without a new plugin. */
.entry-body .kmy-card {
	padding: clamp(1.35rem, 4vw, 2.5rem);
	border: 1px solid var(--kmyc-border);
	border-radius: var(--kmyc-radius);
	background: #fff;
	box-shadow: var(--kmyc-shadow);
}

.entry-body .wp-block-table {
	max-width: 100%;
	margin-right: 0;
	margin-left: 0;
	border: 1px solid var(--kmyc-border);
	border-radius: 12px;
	background: #fff;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
}

.entry-body .wp-block-table table {
	min-width: 100%;
	margin: 0;
	border-style: hidden;
}

.entry-body .wp-block-table :where(th, td) {
	padding: 0.9rem 1rem;
	border-color: var(--kmyc-border);
	vertical-align: middle;
}

#site-header {
	border-bottom: 1px solid rgba(220, 229, 234, 0.9);
	background: rgba(255, 255, 255, 0.96);
	transition: box-shadow 180ms ease, background-color 180ms ease;
}

html.kmy-header-scrolled #site-header {
	box-shadow: 0 5px 18px rgba(23, 38, 58, 0.09);
}

#site-header-container {
	min-height: 78px;
}

#global-nav .menu-item > a {
	border-radius: 8px;
	font-weight: 600;
	letter-spacing: 0.05em;
	transition: color 180ms ease, background-color 180ms ease;
}

#global-nav .menu-item > a:hover,
#global-nav .menu-item > a:focus-visible,
#global-nav .current-menu-item > a {
	background: var(--kmyc-surface);
	color: var(--kmyc-brand-dark);
}

.site-footer {
	margin-top: clamp(4rem, 9vw, 8rem);
	background: #17263a;
	color: rgba(255, 255, 255, 0.84);
}

.site-footer :where(a, .footer-nav a) {
	color: #fff;
	text-decoration-color: rgba(255, 255, 255, 0.4);
	text-underline-offset: 0.2em;
}

.site-footer :where(a, .footer-nav a):hover,
.site-footer :where(a, .footer-nav a):focus-visible {
	color: #a7e0d9;
}

.kmy-footer-privacy {
	padding-top: 1rem;
	padding-bottom: .35rem;
	font-size: .78rem;
	text-align: center;
}

.site-footer-copyright {
	padding-top: 1.25rem;
	padding-bottom: 1.25rem;
	font-size: 0.875rem;
}

html.kmy-motion-ready [data-kmy-reveal] {
	opacity: 0;
	transform: translateY(18px);
	transition: opacity 520ms ease, transform 520ms ease;
	will-change: opacity, transform;
}

html.kmy-motion-ready [data-kmy-reveal].is-kmy-visible {
	opacity: 1;
	transform: translateY(0);
}

@media (max-width: 767.98px) {
	body {
		font-size: 16px;
		line-height: 1.85;
	}

	.site-content .container {
		padding-right: 1.15rem;
		padding-left: 1.15rem;
	}

	.entry-body > :where(.wp-block-group, .wp-block-columns, .wp-block-media-text, .wp-block-cover, .wp-block-table, .wp-block-image) {
		margin-top: 2.75rem;
	}

	.entry-body h2 {
		margin-top: 3.5rem;
	}

	:where(.wp-block-button__link, .btn, input[type="submit"], button[type="submit"]) {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		min-width: min(100%, 16rem);
		min-height: 50px;
	}

	.entry-body .wp-block-media-text {
		grid-template-columns: 1fr;
	}

	.entry-body .wp-block-table table {
		min-width: 38rem;
	}

	#site-header-container {
		min-height: 64px;
	}
}

/* --------------------------------------------------------------------------
 * Home page: content remains Gutenberg blocks in page ID 421.
 * -------------------------------------------------------------------------- */
.home .lightning_swiper {
	display: none;
}

.home .entry-body {
	--kmyc-home-gap: clamp(4.5rem, 10vw, 8.5rem);
}

.home .entry-body > .kmy-home-hero {
	width: 100vw;
	max-width: none;
	margin: 0 calc(50% - 50vw) var(--kmyc-home-gap);
	border-radius: 0;
}

.home .kmy-home-hero .wp-block-cover__inner-container {
	position: relative;
	z-index: 2;
	width: min(100% - 2.5rem, var(--kmyc-content-width));
	margin: 0 auto;
}

.home .kmy-home-hero .wp-block-cover__image-background {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	max-width: none;
	max-height: none;
	border-radius: 0;
	object-fit: cover;
}

.home .kmy-home-hero h2 {
	max-width: 14ch;
	margin: 0;
	padding: 0;
	border: 0;
	color: #fff;
	font-size: clamp(2.25rem, 5.2vw, 4.65rem);
	text-shadow: 0 2px 18px rgba(0, 0, 0, 0.22);
}

.home .kmy-home-hero h2::after {
	display: none;
}

.home .kmy-home-hero .kmy-eyebrow {
	color: #d4eef0;
}

.home .kmy-home-hero .wp-block-buttons {
	margin-top: clamp(1.5rem, 4vw, 2.5rem);
}

.home .kmy-home-hero .wp-block-button.is-style-outline .wp-block-button__link {
	border-color: rgba(255, 255, 255, 0.85);
	background: rgba(255, 255, 255, 0.12);
	color: #fff;
	backdrop-filter: blur(5px);
}

.home .kmy-home-hero .wp-block-button.is-style-outline .wp-block-button__link:hover {
	background: #fff;
	color: var(--kmyc-brand-dark);
}

.home .kmy-home-section {
	max-width: var(--kmyc-content-width);
	margin-right: auto;
	margin-left: auto;
	padding: 0 clamp(1.15rem, 3vw, 2rem);
}

.home .kmy-home-section > h2,
.home .kmy-home-section .kmy-section-heading {
	max-width: none;
	margin: 0 0 1.75rem;
	padding: 0 0 1rem;
	border: 0;
	border-bottom: 1px solid rgba(23, 38, 58, 0.22);
	text-align: left;
	font-size: clamp(2rem, 4.5vw, 4.25rem);
	font-weight: 800;
	letter-spacing: 0.025em;
	line-height: 1.1;
}

.home .kmy-home-section > h2::after,
.home .kmy-home-section .kmy-section-heading::after {
	display: none;
}

.kmy-eyebrow {
	margin-bottom: 0.8rem;
	color: var(--kmyc-accent);
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 0.14em;
	line-height: 1.4;
	text-transform: uppercase;
}

.home .kmy-home-intro {
	padding-top: clamp(1rem, 4vw, 4rem);
	padding-bottom: clamp(1rem, 4vw, 4rem);
	text-align: left;
}

.home .kmy-home-intro > p:not(.kmy-eyebrow) {
	max-width: 42rem;
	margin: 0;
	color: #34475a;
	font-size: clamp(1.05rem, 1.7vw, 1.22rem);
}

.home .kmy-strengths {
	gap: 0;
	margin-top: clamp(3rem, 6vw, 5rem);
	border-top: 1px solid rgba(23, 38, 58, 0.22);
}

.home .kmy-strength {
	min-height: auto;
	padding: clamp(1.5rem, 3vw, 2.4rem) clamp(1rem, 2.5vw, 2rem);
	border: 0;
	border-left: 1px solid rgba(23, 38, 58, 0.22);
	border-radius: 0;
	background: transparent;
	box-shadow: none;
	text-align: left;
}

.home .kmy-strength:first-child {
	padding-left: 0;
	border-left: 0;
}

.home .kmy-strength strong {
	display: block;
	margin-bottom: 0.45rem;
	color: var(--kmyc-brand-dark);
	font-size: 1.12rem;
}

.home .kmy-business-grid,
.home .kmy-service-grid,
.home .kmy-work-grid {
	display: grid !important;
	gap: clamp(1.5rem, 3vw, 3.5rem);
	margin-top: clamp(3rem, 6vw, 5rem);
}

.home .kmy-business-grid { grid-template-columns: 1.35fr 0.9fr 0.9fr; }
.home .kmy-service-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.home .kmy-work-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }

.home .kmy-business-card,
.home .kmy-service-card,
.home .kmy-work-card {
	min-height: 100%;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
	overflow: visible;
}

.home .kmy-business-card,
.home .kmy-service-card,
.home .kmy-work-card {
	width: auto !important;
	flex-basis: auto !important;
}

.home .kmy-business-card > *,
.home .kmy-service-card > *,
.home .kmy-work-card > * {
	margin-right: 0;
	margin-left: 0;
}

.home .kmy-business-card > .wp-block-image,
.home .kmy-service-card > .wp-block-image,
.home .kmy-work-card > .wp-block-image {
	margin: 0 0 1.5rem;
	overflow: hidden;
}

.home .kmy-business-card img,
.home .kmy-service-card img,
.home .kmy-work-card img {
	display: block;
	width: 100%;
	aspect-ratio: 4 / 3;
	border-radius: 0;
	object-fit: cover;
	transition: transform 500ms cubic-bezier(.2,.7,.2,1);
}

.home .kmy-business-card:hover img,
.home .kmy-service-card:hover img,
.home .kmy-work-card:hover img { transform: scale(1.035); }

.home .kmy-business-card h3,
.home .kmy-service-card h3,
.home .kmy-work-card h3 {
	margin-top: 0;
	margin-bottom: 0.65rem;
	font-size: clamp(1.35rem, 2.2vw, 2rem);
	letter-spacing: 0.03em;
}

.home .kmy-business-card p,
.home .kmy-service-card p,
.home .kmy-work-card p {
	color: var(--kmyc-muted);
	font-size: 0.95rem;
}

.home .kmy-card-link {
	display: inline-flex;
	align-items: center;
	gap: 0.45rem;
	margin-top: 1.1rem;
	margin-bottom: 1.5rem;
	color: var(--kmyc-brand-dark);
	font-weight: 700;
	text-decoration: none !important;
}

.home .kmy-card-link::before {
	width: 0;
	height: 2px;
	background: currentColor;
	content: "";
	transition: width 260ms ease;
}

.home .kmy-card-link::after { content: "→"; }
.home .kmy-card-link:hover::before { width: 2rem; }

.home .kmy-card-link:hover::after { transform: translateX(4px); }

.home .kmy-business-card:first-child img { aspect-ratio: 4 / 3; }
.home .kmy-business-card:not(:first-child) img { aspect-ratio: 3 / 4; }

.home .kmy-services-wrap {
	width: 100vw;
	max-width: none;
	margin-right: calc(50% - 50vw);
	margin-left: calc(50% - 50vw);
	padding-top: clamp(5rem, 10vw, 9rem);
	padding-bottom: clamp(5rem, 10vw, 9rem);
	background: #14283d;
	color: #fff;
}

.home .kmy-services-wrap .kmy-eyebrow,
.home .kmy-services-wrap .kmy-service-card p { color: #b9c9d8; }

.home .kmy-services-wrap .kmy-home-section > h2 {
	border-bottom-color: rgba(255, 255, 255, 0.32);
	color: #fff;
}

.home .kmy-services-wrap .kmy-home-section {
	padding-right: clamp(1.15rem, 3vw, 2rem);
	padding-left: clamp(1.15rem, 3vw, 2rem);
}

.home .kmy-service-card h3 {
	padding-top: 1.15rem;
	border-top: 2px solid #2d82c4;
	color: #fff;
}

.home .kmy-work-card img {
	aspect-ratio: 16 / 10;
}

.home .kmy-news-list {
	margin-top: clamp(1.8rem, 4vw, 3rem);
	border-top: 1px solid var(--kmyc-border);
}

.home .kmy-news-list .wp-block-post {
	margin: 0;
	border-bottom: 1px solid var(--kmyc-border);
}

.home .kmy-news-list .wp-block-group {
	display: grid;
	grid-template-columns: 7.5rem minmax(0, 1fr);
	gap: 0.8rem 1.4rem;
	align-items: center;
	padding: 1.15rem 0;
}

.home .kmy-news-list :where(.wp-block-post-date, .wp-block-post-terms) {
	margin: 0;
	color: var(--kmyc-muted);
	font-size: 0.83rem;
}

.home .kmy-news-list .wp-block-post-title {
	grid-column: 2;
	margin: -0.25rem 0 0;
	font-size: 1rem;
}

.home .kmy-news-list .wp-block-post-title a {
	color: var(--kmyc-ink);
	text-decoration: none;
}

.home .kmy-news-list .wp-block-post-title a:hover {
	color: var(--kmyc-brand);
}

.home .kmy-news-more {
	margin-top: 2rem;
	text-align: right;
}

.home .kmy-partners-wrap {
	width: 100vw;
	max-width: none;
	margin-right: calc(50% - 50vw);
	margin-left: calc(50% - 50vw);
	padding-top: clamp(5rem, 10vw, 8rem);
	padding-bottom: clamp(5rem, 10vw, 8rem);
	background: #fff;
}

.home .kmy-partner-grid {
	display: grid;
	grid-template-columns: repeat(6, minmax(0, 1fr));
	gap: 0;
	margin-top: clamp(2rem, 5vw, 3rem);
	border-top: 1px solid var(--kmyc-border);
}

.home .kmy-partner-grid a {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 5.5rem;
	padding: 1rem;
	border: 0;
	border-right: 1px solid var(--kmyc-border);
	border-bottom: 1px solid var(--kmyc-border);
	border-radius: 0;
	background: transparent;
	transition: background-color 180ms ease;
}

.home .kmy-partner-grid a:hover {
	background: #f2f7fa;
}

.home .kmy-partner-grid img {
	width: auto;
	max-width: 100%;
	max-height: 2.2rem;
	border-radius: 0;
	object-fit: contain;
}

@media (max-width: 767.98px) {
	.home .entry-body > .kmy-home-hero {
		display: flex !important;
		position: relative;
		height: 540px !important;
		min-height: 540px !important;
		margin-bottom: 4.5rem;
		background: #142c46 url("/wp-content/uploads/2021/09/company1.00001.00000001.jpg") center / cover no-repeat !important;
	}

	.home .kmy-home-hero .wp-block-cover__inner-container {
		width: min(100% - 2rem, var(--kmyc-content-width));
	}

	.home .kmy-strengths,
	.home .kmy-business-grid,
	.home .kmy-service-grid,
	.home .kmy-work-grid {
		gap: 1.5rem;
	}

	.home .kmy-home-section > h2 {
		font-size: clamp(2rem, 10vw, 3rem);
	}

	.home .kmy-strengths {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 0;
	}

	.home .kmy-strength {
		padding: 1.2rem 0.7rem;
		font-size: 0.9rem;
	}

	.home .kmy-strength strong {
		font-size: 1rem;
	}

	.home .kmy-business-grid,
	.home .kmy-service-grid,
	.home .kmy-work-grid {
		grid-template-columns: 1fr;
	}

	.home .kmy-business-card {
		display: grid;
		grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr);
		column-gap: 1.15rem;
		align-content: start;
	}

	.home .kmy-business-card > .wp-block-image {
		grid-row: span 3;
		margin: 0;
	}

	.home .kmy-business-card:not(:first-child) img,
	.home .kmy-business-card:first-child img {
		height: 100%;
		min-height: 15rem;
		aspect-ratio: auto;
	}

	.home .kmy-business-card h3 {
		margin-top: 0;
	}

	.home .kmy-service-card {
		display: grid;
		grid-template-columns: minmax(0, 1fr) minmax(0, 0.9fr);
		column-gap: 1.15rem;
		align-content: start;
	}

	.home .kmy-service-card > .wp-block-image {
		grid-row: span 3;
		margin: 0;
	}

	.home .kmy-service-card img {
		height: 100%;
		min-height: 13rem;
		aspect-ratio: auto;
	}

	.home .kmy-service-card h3 {
		margin-top: 0;
	}

	.home .kmy-work-card + .kmy-work-card {
		margin-top: 1.5rem;
	}

	.home .kmy-news-list .wp-block-group {
		grid-template-columns: 1fr;
		gap: 0.35rem;
	}

	.home .kmy-news-list .wp-block-post-title {
		grid-column: auto;
		margin-top: 0;
	}

	.home .kmy-partner-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 0.65rem;
	}

	.home .kmy-partner-grid a {
		min-height: 4.5rem;
	}
}

/* --------------------------------------------------------------------------
 * HOME editorial redesign: photo-led, architectural, deliberately unboxed.
 * -------------------------------------------------------------------------- */
.home .kmy-home-section {
	padding-top: clamp(5.5rem, 11vw, 10rem);
	padding-bottom: clamp(1rem, 4vw, 3rem);
}

.home .kmy-home-section > .kmy-eyebrow {
	margin-bottom: 1.2rem;
	color: #247fba;
	font-size: 0.68rem;
	letter-spacing: 0.2em;
}

.home .kmy-home-section > h2 {
	margin-bottom: clamp(2.25rem, 5vw, 4.5rem);
	border-bottom: 0;
	font-size: clamp(2.8rem, 6vw, 6.25rem);
	letter-spacing: -0.035em;
	line-height: 0.98;
}

.home .kmy-home-section > h2::after {
	display: block;
	width: 3.4rem;
	height: 3px;
	margin-top: 1.15rem;
	background: #247fba;
	content: "";
}

.home .kmy-home-hero {
	overflow: hidden;
}

.home .kmy-home-hero .wp-block-cover__image-background {
	animation: kmy-hero-settle 1.2s cubic-bezier(.2,.7,.2,1) both;
}

.home .kmy-home-hero .wp-block-cover__inner-container {
	transform: translateY(var(--kmy-hero-offset, 0));
	transition: transform .1s linear;
}

.home .kmy-home-hero .wp-block-button__link {
	min-width: 0;
	padding: 0.65rem 0 0.75rem;
	border: 0;
	border-bottom: 1px solid rgba(255,255,255,.8);
	border-radius: 0;
	background: transparent;
	box-shadow: none;
	letter-spacing: .08em;
}

.home .kmy-home-hero .wp-block-button__link:hover {
	border-bottom-color: #75bdf0;
	background: transparent;
	box-shadow: none;
	transform: none;
}

.home .kmy-about > p:not(.kmy-eyebrow) {
	max-width: 43rem;
	margin: 0;
	font-size: clamp(1.1rem, 1.7vw, 1.45rem);
	line-height: 2;
}

.home .kmy-strengths {
	display: grid !important;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 0;
	margin-top: clamp(3rem, 7vw, 6rem);
	border-top: 1px solid #cdd7df;
	border-bottom: 1px solid #cdd7df;
}

.home .kmy-strength {
	padding: 1.8rem 1.5rem;
	border-left: 1px solid #cdd7df;
	font-size: .95rem;
}

.home .kmy-strength:first-child { border-left: 0; }
.home .kmy-strength strong { color: #14283d; font-size: 1.2rem; }
.home .kmy-strength span { display: block; margin-top: .55rem; color: #526477; }

.home .kmy-business-feature > .wp-block-group__inner-container {
	display: grid;
	grid-template-columns: minmax(0, 1.25fr) minmax(18rem, .75fr);
	align-items: center;
	gap: clamp(2rem, 7vw, 8rem);
	margin-top: clamp(4.5rem, 10vw, 11rem);
	border: 0;
	background: none;
	box-shadow: none;
}

.home .kmy-business-feature--estate > .wp-block-group__inner-container { grid-template-columns: minmax(18rem, .75fr) minmax(0, 1.25fr); }
.home .kmy-business-feature--estate figure { order: 2; }
.home .kmy-business-feature--estate .kmy-business-copy { order: 1; }

.home .kmy-business-feature figure {
	margin: 0;
	overflow: hidden;
}

.home .kmy-business-feature img {
	display: block;
	width: 100%;
	aspect-ratio: 4 / 3;
	border-radius: 0;
	object-fit: cover;
	transition: transform .7s cubic-bezier(.2,.7,.2,1);
}

.home .kmy-business-feature:hover img { transform: scale(1.025); }
.home .kmy-business-copy { max-width: 31rem; }
.home .kmy-business-number { margin: 0 0 1.25rem; color: #247fba; font-size: .73rem; font-weight: 700; letter-spacing: .15em; }
.home .kmy-business-copy h3 { margin: 0 0 1.25rem; color: #14283d; font-size: clamp(2.15rem, 4vw, 4.6rem); letter-spacing: -.035em; line-height: 1; }
.home .kmy-business-copy > p:not(.kmy-business-number, .kmy-card-link) { color: #526477; font-size: 1.02rem; line-height: 1.9; }

.home .kmy-card-link {
	gap: .7rem;
	margin-top: 2rem;
	margin-bottom: 0;
	color: #14283d;
	font-size: .92rem;
	letter-spacing: .08em;
}
.home .kmy-card-link::before { width: 2.25rem; background: #247fba; }
.home .kmy-card-link:hover::before { width: 3.5rem; }

.home .kmy-construction-wrap {
	width: 100vw;
	max-width: none;
	margin: clamp(6rem, 13vw, 13rem) calc(50% - 50vw) 0;
	padding: clamp(5.5rem, 11vw, 10rem) 0;
	background: #14283d;
	color: #fff;
}

.home .kmy-construction-wrap .kmy-home-section { padding-top: 0; padding-bottom: 0; }
.home .kmy-construction-wrap .kmy-eyebrow { color: #75bdf0; }
.home .kmy-construction-wrap h2 { color: #fff; }
.home .kmy-construction-wrap h2::after { background: #75bdf0; }

.home .kmy-construction-gallery {
	display: grid;
	grid-template-columns: 1.25fr 1fr 1fr;
	gap: 1px;
	margin: 0;
	background: rgba(255,255,255,.2);
}

.home .kmy-construction-panel {
	position: relative;
	min-height: clamp(25rem, 39vw, 38rem);
	overflow: hidden;
	background: #0e1d2d;
}
.home .kmy-construction-panel img { width: 100%; height: 100%; position: absolute; inset: 0; object-fit: cover; opacity: .76; transition: transform .7s cubic-bezier(.2,.7,.2,1), opacity .35s ease; }
.home .kmy-construction-panel:hover img { transform: scale(1.045); opacity: .9; }
.home .kmy-construction-panel::after { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(10,24,38,.03) 25%, rgba(10,24,38,.88) 100%); content: ""; }
.home .kmy-construction-panel > div { position: absolute; z-index: 1; right: 2rem; bottom: 2rem; left: 2rem; }
.home .kmy-construction-panel span { color: #8fc9ee; font-size: .68rem; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; }
.home .kmy-construction-panel h3 { margin: .55rem 0; color: #fff; font-size: clamp(1.6rem, 2.6vw, 2.6rem); }
.home .kmy-construction-panel p { margin: 0 0 1.2rem; color: rgba(255,255,255,.8); font-size: .9rem; line-height: 1.75; }
.home .kmy-construction-panel a { color: #fff; font-size: .85rem; font-weight: 700; letter-spacing: .06em; text-decoration: none; }
.home .kmy-construction-panel a:hover { color: #75bdf0; }

.home .kmy-works-grid {
	display: grid;
	grid-template-columns: 1.35fr 1fr;
	gap: clamp(1rem, 2.5vw, 2.5rem);
}
.home .kmy-works-grid a { position: relative; display: block; overflow: hidden; color: #fff; text-decoration: none; }
.home .kmy-works-grid img { display: block; width: 100%; aspect-ratio: 16 / 10; border-radius: 0; object-fit: cover; transition: transform .7s cubic-bezier(.2,.7,.2,1); }
.home .kmy-works-grid a:hover img { transform: scale(1.035); }
.home .kmy-works-grid span { position: absolute; right: 1.25rem; bottom: 1.15rem; font-size: 1.1rem; font-weight: 700; text-shadow: 0 2px 12px rgba(0,0,0,.45); }

.home .kmy-news-section { padding-bottom: clamp(4rem, 8vw, 8rem); }
.home .kmy-news-section > h2 { font-family: Arial, sans-serif; letter-spacing: .04em; }
.home .kmy-news-list { border-top-color: #14283d; }
.home .kmy-news-list .wp-block-group { grid-template-columns: 7rem 8rem minmax(0,1fr); gap: 1rem; padding: 1.45rem 0; }
.home .kmy-news-list .wp-block-post-title { grid-column: auto; margin: 0; font-size: 1.05rem; }
.home .kmy-news-list .wp-block-post-title a { transition: color .2s ease; }
.home .kmy-news-list .wp-block-post-title a:hover { color: #247fba; }
.kmy-news-new { display: inline-block; margin-left: .65rem; color: #247fba; font-size: .68rem; font-weight: 700; letter-spacing: .12em; }

.home .kmy-partners-wrap { margin-top: 0; padding-top: clamp(5rem, 10vw, 9rem); padding-bottom: clamp(5rem, 10vw, 9rem); background: #fff; }
.home .kmy-partners-wrap .kmy-home-section { padding-top: 0; padding-bottom: 0; }
.home .kmy-partner-grid { grid-template-columns: repeat(4, minmax(0,1fr)); }
.home .kmy-partner-grid a { min-height: 6.25rem; border-right: 0; background: none; }
.home .kmy-partner-grid a:hover { background: #f5f8fa; }

@keyframes kmy-hero-settle { from { transform: scale(1.045); } to { transform: scale(1); } }

@media (max-width: 767.98px) {
	.home .kmy-home-section { padding-top: 4.75rem; padding-bottom: 1.5rem; }
	.home .kmy-home-section > h2 { margin-bottom: 2.5rem; font-size: clamp(2.5rem, 12vw, 4rem); }
	.home .kmy-strengths { grid-template-columns: 1fr; margin-top: 2.75rem; }
	.home .kmy-strength, .home .kmy-strength:first-child { padding: 1.35rem 0; border-left: 0; border-top: 1px solid #cdd7df; }
	.home .kmy-strength:first-child { border-top: 0; }
	.home .kmy-business-feature > .wp-block-group__inner-container, .home .kmy-business-feature--estate > .wp-block-group__inner-container { grid-template-columns: 1fr; gap: 1.7rem; margin-top: 5rem; }
	.home .kmy-business-feature--estate figure, .home .kmy-business-feature--estate .kmy-business-copy { order: initial; }
	.home .kmy-business-feature img { aspect-ratio: 4 / 3; }
	.home .kmy-business-copy h3 { font-size: 2.7rem; }
	.home .kmy-construction-wrap { margin-top: 6rem; padding: 4.75rem 0; }
	.home .kmy-construction-gallery { grid-template-columns: 1fr; gap: 1px; }
	.home .kmy-construction-panel { min-height: 24rem; }
	.home .kmy-construction-panel > div { right: 1.4rem; bottom: 1.5rem; left: 1.4rem; }
	.home .kmy-works-grid { grid-template-columns: 1fr; gap: 1rem; }
	.home .kmy-news-list .wp-block-group { grid-template-columns: 1fr; gap: .35rem; padding: 1.2rem 0; }
	.home .kmy-partner-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
}

/* --------------------------------------------------------------------------
 * Corporate information pages
 * -------------------------------------------------------------------------- */
.entry-body :where(.kmy-corporate-page, .kmy-business-page, .kmy-contact-page) {
	max-width: 70rem;
	margin: 0 auto;
	padding: clamp(2rem, 6vw, 5rem) clamp(1.2rem, 4vw, 3rem);
}

.entry-body :where(.kmy-corporate-page, .kmy-business-page, .kmy-contact-page) h1 {
	margin: 0 0 2.2rem;
	padding-bottom: 1rem;
	border-bottom: 3px solid #247fba;
	font-size: clamp(2.4rem, 5vw, 4.8rem);
	letter-spacing: -.035em;
}

.entry-body :where(.kmy-corporate-page, .kmy-business-page, .kmy-contact-page) h2 {
	margin-top: clamp(3.5rem, 8vw, 6rem);
	padding-bottom: .8rem;
	border-bottom: 1px solid #cdd7df;
	font-size: clamp(1.55rem, 3vw, 2.35rem);
}

.kmy-lead { max-width: 46rem; color: #14283d; font-size: clamp(1.15rem, 2vw, 1.5rem); font-weight: 700; line-height: 1.85; }
.kmy-profile-list { display: grid; grid-template-columns: 15rem minmax(0, 1fr); margin: 0; border-top: 1px solid #cdd7df; }
.kmy-profile-list dt, .kmy-profile-list dd { margin: 0; padding: 1.2rem 1.25rem; border-bottom: 1px solid #cdd7df; }
.kmy-profile-list dt { background: #f5f8fa; color: #14283d; font-weight: 700; }
.kmy-service-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0; margin: 0; padding: 0; list-style: none; border-top: 1px solid #cdd7df; }
.kmy-service-list li { padding: 1.25rem 0; border-bottom: 1px solid #cdd7df; color: #14283d; font-size: 1.08rem; }
.kmy-service-list li::before { display: inline-block; width: .65rem; height: .65rem; margin-right: .85rem; background: #247fba; content: ""; }
.kmy-map { margin-top: 2rem; overflow: hidden; }
.kmy-map iframe { display: block; width: 100%; min-height: 28rem; border: 0; }
.kmy-contact-page .wpcf7 { max-width: 48rem; margin-top: 3rem; }
.kmy-contact-page .wpcf7 label { display: block; margin-top: 1.5rem; color: #14283d; font-weight: 700; }
.kmy-contact-page .wpcf7 :where(input:not([type="checkbox"]), select, textarea) { width: 100%; margin-top: .65rem; padding: .85rem; border: 1px solid #9dacb9; border-radius: 0; background: #fff; }
.kmy-contact-page .wpcf7 input[type="submit"] { margin-top: 2rem; border-radius: 0; box-shadow: none; }
.kmy-privacy-note { margin-top: 1.5rem; font-size: .92rem; }

/* The front page remains a company-profile entrance, not a portfolio archive. */
.home .kmy-business-feature--property,
.home .kmy-works,
.home .kmy-partners-wrap { display: none; }

/* Final HOME: an understated corporate entry, not a sales landing page. */
.home .kmy-home-hero .wp-block-cover__inner-container { max-width: 65rem; }
.home .kmy-home-hero h2 { max-width: 20ch; font-size: clamp(2.15rem, 4.15vw, 4.1rem); line-height: 1.24; }
.home .kmy-home-hero p:not(.kmy-eyebrow) { max-width: 58rem; font-size: clamp(.95rem, 1.4vw, 1.15rem); }
.home .kmy-company-intro { max-width: 70rem; }
.home .kmy-company-intro > p:not(.kmy-eyebrow) { max-width: 46rem; font-size: clamp(1.08rem, 1.8vw, 1.35rem); line-height: 2; }
.home .kmy-home-section > h2 { margin-bottom: clamp(2rem, 4vw, 3.5rem); font-size: clamp(2.2rem, 4.7vw, 4.5rem); }
.home .kmy-home-business { max-width: 78rem; }
.home .kmy-home-business-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-top: 1px solid #cdd7df; }
.home .kmy-home-business-item { position: relative; min-height: 25rem; padding: clamp(2rem, 4vw, 4rem); border-right: 1px solid #cdd7df; border-bottom: 1px solid #cdd7df; }
.home .kmy-home-business-item:last-child { border-right: 0; }
.home .kmy-business-number { margin: 0 0 .8rem; color: #247fba; font-size: .75rem; font-weight: 700; letter-spacing: .13em; }
.home .kmy-home-business-item h3 { margin: 0 0 1rem; color: #14283d; font-size: clamp(1.7rem, 2.6vw, 2.85rem); letter-spacing: -.025em; }
.home .kmy-home-business-item > p:not(.kmy-business-number, .kmy-card-link) { max-width: 31rem; color: #526477; line-height: 1.9; }
.home .kmy-home-business-item ul { display: flex; flex-wrap: wrap; gap: .65rem 1rem; margin: 2rem 0 0; padding: 0; list-style: none; }
.home .kmy-home-business-item li { color: #14283d; font-size: .9rem; }
.home .kmy-home-business-item li::before { margin-right: .45rem; color: #247fba; content: "—"; }
.home .kmy-home-company-link { max-width: 78rem; padding-top: clamp(5rem, 10vw, 9rem); padding-bottom: clamp(5rem, 10vw, 9rem); border-top: 1px solid #cdd7df; }
.home .kmy-home-company-link > p:not(.kmy-card-link) { max-width: 38rem; color: #526477; font-size: 1.12rem; line-height: 1.9; }
.home .kmy-news-section > h2 { font-family: inherit; letter-spacing: -.035em; }
.home .kmy-news-list .wp-block-group { grid-template-columns: 7.5rem minmax(0, 1fr); }
.home .kmy-news-list .wp-block-post-title { grid-column: auto; }
.home .kmy-home-section > h2::after { transform: scaleX(0); transform-origin: left center; }
.kmy-motion-ready .home .kmy-home-section.is-kmy-visible > h2::after { animation: kmy-line-reveal .55s cubic-bezier(.2,.7,.2,1) .08s forwards; }
.home .kmy-home-business-item::before { position: absolute; top: 0; left: 0; width: 0; height: 2px; background: #247fba; content: ""; transition: width .35s ease; }
.home .kmy-home-business-item:hover::before { width: 100%; }
.home .kmy-card-link::before { transition: width .28s ease; }
.home .kmy-card-link:hover::before { width: 4.1rem; }
@keyframes kmy-line-reveal { to { transform: scaleX(1); } }

@media (max-width: 767.98px) {
	.home .kmy-home-hero h2 { font-size: clamp(1.8rem, 8vw, 2.55rem); }
	.home .kmy-home-section > h2 { margin-bottom: 2rem; font-size: clamp(2rem, 9vw, 3.1rem); }
	.home .kmy-home-business-grid { grid-template-columns: 1fr; }
	.home .kmy-home-business-item, .home .kmy-home-business-item:last-child { min-height: 0; padding: 2.25rem 0; border-right: 0; }
	.home .kmy-news-list .wp-block-group { grid-template-columns: 1fr; }
}

@media (max-width: 767.98px) {
	.kmy-profile-list { grid-template-columns: 1fr; }
	.kmy-profile-list dt { padding-bottom: .35rem; border-bottom: 0; }
	.kmy-profile-list dd { padding-top: .35rem; }
	.kmy-service-list { grid-template-columns: 1fr; }
	.kmy-map iframe { min-height: 20rem; }
}

@media (prefers-reduced-motion: reduce) {
	*,
	*::before,
	*::after {
		scroll-behavior: auto !important;
		transition-duration: 0.01ms !important;
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
	}
}

/* --------------------------------------------------------------------------
 * Final site-wide finish: restrained, Japanese-first corporate presentation.
 * This layer deliberately overrides the earlier generic card treatment.
 * -------------------------------------------------------------------------- */
:root {
	--kmyc-ink: #14283d;
	--kmyc-muted: #526477;
	--kmyc-brand: #1b77b4;
	--kmyc-brand-dark: #11577f;
	--kmyc-accent: #1b8d88;
	--kmyc-surface: #f5f8fa;
	--kmyc-border: #cdd7df;
	--kmyc-radius: 0;
	--kmyc-shadow: none;
}

body {
	font-size: 16px;
	font-feature-settings: "palt" 1, "pkna" 1;
	letter-spacing: .035em;
	line-height: 1.9;
}

.entry-body :where(p, li) { line-height: 2; }
.entry-body :where(h1, h2, h3, h4) { letter-spacing: .035em; }
.entry-body h1,
.page-header-title { font-size: clamp(2rem, 3.7vw, 3.6rem); letter-spacing: .045em; }
.entry-body h2 { margin-top: clamp(2.75rem, 6vw, 5rem); padding-bottom: .8rem; font-size: clamp(1.55rem, 2.55vw, 2.15rem); }
.entry-body h2::after { width: 2.75rem; height: 2px; background: var(--kmyc-brand); border-radius: 0; transform-origin: left center; }
.entry-body h3 { margin-top: clamp(1.9rem, 4vw, 3rem); font-size: clamp(1.12rem, 1.9vw, 1.45rem); }

.entry-body :where(.wp-block-image img, .wp-block-media-text__media img, .wp-block-cover__image-background, .wp-post-image),
.entry-body :where(.wp-block-media-text, .wp-block-group.is-style-vk-group-solid-roundcorner),
.entry-body .kmy-card,
.entry-body .wp-block-table {
	border-radius: 0;
	box-shadow: none;
}

.entry-body :where(.wp-block-media-text, .wp-block-group.is-style-vk-group-solid-roundcorner) {
	border-color: var(--kmyc-border);
	background: transparent;
}

:where(.wp-block-button__link, .btn, input[type="submit"], button[type="submit"]) {
	border-radius: 0;
	box-shadow: none;
	letter-spacing: .08em;
}

:where(.wp-block-button__link, .btn, input[type="submit"], button[type="submit"]):hover,
:where(.wp-block-button__link, .btn, input[type="submit"], button[type="submit"]):focus-visible {
	box-shadow: none;
	transform: translateY(-1px);
}

#site-header {
	background: rgba(255, 255, 255, .98);
	transition: background-color .25s ease, box-shadow .25s ease;
}

html.kmy-header-scrolled #site-header { box-shadow: 0 3px 12px rgba(20, 40, 61, .07); }
#site-header-container { min-height: 74px; }
#global-nav .menu-item > a {
	position: relative;
	padding-right: .8rem;
	padding-left: .8rem;
	border-radius: 0;
	background: transparent !important;
	font-size: .91rem;
	font-weight: 600;
}

#global-nav .menu-item > a::after {
	position: absolute;
	right: .8rem;
	bottom: .35rem;
	left: .8rem;
	height: 1px;
	background: var(--kmyc-brand);
	content: "";
	transform: scaleX(0);
	transform-origin: left center;
	transition: transform .24s ease;
}

#global-nav .menu-item > a:hover::after,
#global-nav .menu-item > a:focus-visible::after,
#global-nav .current-menu-item > a::after { transform: scaleX(1); }

.site-footer { margin-top: clamp(3.75rem, 7vw, 6.5rem); }
.site-footer :where(p, li, a) { line-height: 1.8; }
.site-footer-copyright { font-size: .78rem; letter-spacing: .04em; }

.entry-body :where(.kmy-corporate-page, .kmy-business-page, .kmy-contact-page) {
	padding-top: clamp(1.5rem, 4vw, 3.5rem);
	padding-bottom: clamp(3.5rem, 7vw, 6rem);
}

.entry-body :where(.kmy-corporate-page, .kmy-business-page, .kmy-contact-page) h1 {
	margin-bottom: 1.8rem;
	padding-bottom: .85rem;
	border-bottom-width: 2px;
	font-size: clamp(2rem, 3.8vw, 3.7rem);
}

.entry-body :where(.kmy-corporate-page, .kmy-business-page, .kmy-contact-page) h2 {
	margin-top: clamp(3rem, 6vw, 4.75rem);
	font-size: clamp(1.45rem, 2.5vw, 2.05rem);
}

.kmy-lead { max-width: 49rem; font-size: clamp(1.04rem, 1.55vw, 1.28rem); line-height: 2; }
.kmy-profile-list { grid-template-columns: minmax(10rem, 14rem) minmax(0, 1fr); }
.kmy-profile-list dt { background: #f7f9fa; }
.kmy-profile-list dt, .kmy-profile-list dd { padding: 1.05rem 1.15rem; }
.kmy-service-list li { padding: 1.05rem 0; }
.kmy-service-list li::before { width: .48rem; height: .48rem; margin-right: .75rem; }
.kmy-contact-page .wpcf7 { margin-top: 2.5rem; }
.kmy-contact-page .wpcf7 :where(input:not([type="checkbox"]), select, textarea) { border-color: #aebdca; border-radius: 0; }

html.kmy-motion-ready .entry-body [data-kmy-reveal] h2::after {
	transform: scaleX(0);
	transition: transform .52s cubic-bezier(.2, .7, .2, 1) .08s;
}
html.kmy-motion-ready .entry-body [data-kmy-reveal].is-kmy-visible h2::after { transform: scaleX(1); }

@media (max-width: 767.98px) {
	body { font-size: 15.5px; letter-spacing: .025em; }
	.site-content .container { padding-right: 1.25rem; padding-left: 1.25rem; }
	#site-header-container { min-height: 64px; }
	.entry-body > :where(.wp-block-group, .wp-block-columns, .wp-block-media-text, .wp-block-cover, .wp-block-table, .wp-block-image) { margin-top: 2.5rem; }
	.entry-body h1, .page-header-title { font-size: clamp(1.9rem, 8vw, 2.65rem); line-height: 1.32; }
	.entry-body h2 { margin-top: 3.1rem; font-size: clamp(1.4rem, 6.5vw, 1.85rem); }
	.entry-body h3 { font-size: clamp(1.08rem, 5.1vw, 1.3rem); }
	.entry-body :where(p, li) { line-height: 1.95; }
	.entry-body :where(.kmy-corporate-page, .kmy-business-page, .kmy-contact-page) { padding-right: 0; padding-left: 0; }
	.entry-body :where(.kmy-corporate-page, .kmy-business-page, .kmy-contact-page) h1 { font-size: clamp(1.9rem, 8vw, 2.6rem); }
	.kmy-lead { font-size: 1.02rem; line-height: 1.95; }
	.kmy-profile-list dt, .kmy-profile-list dd { padding-right: 1rem; padding-left: 1rem; }
	.kmy-service-list li { font-size: 1rem; }
	.site-footer { margin-top: 4.5rem; }
}

/* Small, purpose-specific line symbols: used only with the two HOME businesses. */
.home .kmy-business-symbol {
	display: flex;
	align-items: center;
	justify-content: flex-start;
	width: 2.45rem;
	height: 2.45rem;
	margin: 0 0 1.1rem;
	color: var(--kmyc-brand);
}

.home .kmy-business-symbol svg {
	display: block;
	width: 100%;
	height: 100%;
	fill: none;
	stroke: currentColor;
	stroke-linecap: square;
	stroke-linejoin: miter;
	stroke-width: 1.35;
	transition: transform .28s cubic-bezier(.2, .7, .2, 1), color .28s ease;
}

.home .kmy-home-business-item:hover .kmy-business-symbol svg {
	color: var(--kmyc-brand-dark);
	transform: translateX(3px);
}

@media (max-width: 767.98px) {
	.home .kmy-business-symbol { width: 2.15rem; height: 2.15rem; margin-bottom: .9rem; }
}

/* HOME heading rhythm: one fine rule is enough; the blue is only an accent. */
.home .kmy-home-section > h2 {
	position: relative;
	padding-bottom: .9rem;
	border-top: 0 !important;
	border-bottom: 1px solid #d5dee5;
}

.home .kmy-home-section > h2::before { display: none !important; }
.home .kmy-home-section > h2::after {
	position: absolute;
	bottom: -1px;
	left: 0;
	width: 2.75rem;
	height: 2px;
	margin: 0;
	background: var(--kmyc-brand);
}

.home .kmy-home-business-item h3 {
	padding-bottom: 0;
	border-bottom: 0 !important;
}

.home .kmy-home-business-item h3::before,
.home .kmy-home-business-item h3::after { display: none !important; }

/* The hero copy includes intentional line breaks. Keep those lines intact on desktop. */
@media (min-width: 768px) {
	.home .kmy-home-hero .wp-block-cover__inner-container { max-width: min(90vw, 72rem); }
	.home .kmy-home-hero h2 {
		max-width: none;
		font-size: clamp(2.1rem, 4.1vw, 3.75rem);
		line-height: 1.26;
		white-space: nowrap;
	}
}

@media (max-width: 767.98px) {
	.home .kmy-home-hero h2 { white-space: normal; }
}

/* Match internal pages to the calmer type scale established on HOME. */
.entry-body h1,
.page-header-title { font-size: clamp(1.9rem, 3.25vw, 3.2rem); }
.entry-body h2 { font-size: clamp(1.45rem, 2.2vw, 1.95rem); }
.entry-body h3 { font-size: clamp(1.08rem, 1.65vw, 1.32rem); }
.entry-body :where(.kmy-corporate-page, .kmy-business-page, .kmy-contact-page) h1 { font-size: clamp(1.9rem, 3.25vw, 3.2rem); }
.entry-body :where(.kmy-corporate-page, .kmy-business-page, .kmy-contact-page) h2 { font-size: clamp(1.4rem, 2.15vw, 1.9rem); }
.kmy-lead { font-size: clamp(1rem, 1.35vw, 1.16rem); }

@media (max-width: 767.98px) {
	.entry-body h1,
	.page-header-title,
	.entry-body :where(.kmy-corporate-page, .kmy-business-page, .kmy-contact-page) h1 { font-size: clamp(1.75rem, 7.3vw, 2.3rem); }
	.entry-body h2,
	.entry-body :where(.kmy-corporate-page, .kmy-business-page, .kmy-contact-page) h2 { font-size: clamp(1.3rem, 5.8vw, 1.65rem); }
	.entry-body h3 { font-size: 1.08rem; }
	.kmy-lead { font-size: 1rem; }
}

/* Repeated eyebrow labels add no information in a Japanese-first corporate site. */
.entry-body .kmy-eyebrow { display: none; }
.home .kmy-home-hero .kmy-eyebrow { display: block; }
.home .kmy-home-section { padding-top: clamp(4.75rem, 9vw, 8rem); }

/* Framework credits are not part of the company's public information. */
.site-footer-copyright > p:last-child { display: none; }

/* Notice details: show the publication date only; hide internal/meta navigation. */
.single-post .entry-meta-item-updated,
.single-post .entry-meta-item-author,
.single-post .entry-footer,
.single-post .vk_posts.next-prev { display: none; }
