/* PC向けレイアウト（782px以上）。スマホは従来デザインのまま */

.kin-en-dshell-header,
.kin-en-dshell-nav,
.kin-en-dshell-footer,
.kin-en-dshell-drawer,
.kin-en-dshell-drawer-backdrop,
.kin-en-dhome {
	display: none;
}

@media (min-width: 782px) {
	body.kin-en-has-desktop-shell {
		margin: 0;
		background: var(--kin-en-bg);
		color: var(--kin-en-text);
		font-family: var(--kin-en-font);
		-webkit-font-smoothing: antialiased;
		-moz-osx-font-smoothing: grayscale;
	}

	.kin-en-dshell-header,
	.kin-en-dshell-nav,
	.kin-en-dshell-footer,
	.kin-en-dhome {
		display: block;
	}

	.kin-en-dshell-header {
		border-bottom: 1px solid var(--kin-en-border-light);
		background: rgba(255, 255, 255, 0.88);
		backdrop-filter: saturate(180%) blur(20px);
		-webkit-backdrop-filter: saturate(180%) blur(20px);
	}

	.kin-en-dshell-header__inner {
		box-sizing: border-box;
		max-width: var(--kin-en-content-max);
		margin: 0 auto;
		padding: 1.1rem 1.5rem;
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 1.5rem;
	}

	.kin-en-dshell-header__brand {
		display: flex;
		align-items: center;
		gap: 1rem;
		text-decoration: none;
		color: inherit;
		min-width: 0;
	}

	.kin-en-dshell-header__logo {
		flex: 0 0 auto;
		width: 4.25rem;
		height: 4.25rem;
		object-fit: contain;
	}

	.kin-en-dshell-header__title {
		font-size: clamp(1.2rem, 2vw, 1.65rem);
		font-weight: 600;
		line-height: 1.25;
		letter-spacing: -0.02em;
		color: var(--kin-en-text);
	}

	.kin-en-dshell-header__tools {
		display: flex;
		align-items: center;
		gap: 0.85rem;
		flex-shrink: 0;
	}

	.kin-en-dshell-search {
		display: flex;
		align-items: stretch;
		margin: 0;
	}

	.kin-en-dshell-search__input {
		box-sizing: border-box;
		width: min(16rem, 28vw);
		padding: 0.45rem 0.85rem;
		border: 1px solid var(--kin-en-border);
		border-right: 0;
		border-radius: 980px 0 0 980px;
		font-size: 0.88rem;
		line-height: 1.4;
		background: var(--kin-en-bg-secondary);
		color: var(--kin-en-text);
	}

	.kin-en-dshell-search__input::placeholder {
		color: var(--kin-en-text-tertiary);
	}

	.kin-en-dshell-search__input:focus {
		outline: 2px solid var(--kin-en-focus);
		outline-offset: 1px;
		background: var(--kin-en-bg);
	}

	.kin-en-dshell-search__submit {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		width: 2.5rem;
		padding: 0;
		border: 1px solid var(--kin-en-border);
		border-left: 0;
		border-radius: 0 980px 980px 0;
		background: var(--kin-en-bg-secondary);
		color: var(--kin-en-text-secondary);
		cursor: pointer;
	}

	.kin-en-dshell-search__submit:hover,
	.kin-en-dshell-search__submit:focus-visible {
		background: var(--kin-en-border-light);
		color: var(--kin-en-text);
	}

	.kin-en-dshell-menu-btn {
		display: inline-flex;
		flex-direction: column;
		justify-content: center;
		gap: 0.28rem;
		width: 2.5rem;
		height: 2.5rem;
		padding: 0;
		border: 0;
		background: transparent;
		cursor: pointer;
	}

	.kin-en-dshell-menu-btn__bar {
		display: block;
		width: 1.55rem;
		height: 2px;
		margin: 0 auto;
		background: var(--kin-en-text);
	}

	.kin-en-dshell-menu-btn:hover,
	.kin-en-dshell-menu-btn:focus-visible {
		outline: 2px solid var(--kin-en-focus);
		outline-offset: 2px;
	}

	.kin-en-dshell-nav {
		background: var(--kin-en-bg-secondary);
		border-bottom: 1px solid var(--kin-en-border-light);
	}

	.kin-en-dshell-nav__list {
		display: flex;
		align-items: stretch;
		list-style: none;
		max-width: var(--kin-en-content-max);
		margin: 0 auto;
		padding: 0;
	}

	.kin-en-dshell-nav__item {
		flex: 1 1 0;
		margin: 0;
		border-right: 1px solid var(--kin-en-border-light);
	}

	.kin-en-dshell-nav__item:last-child {
		border-right: 0;
	}

	.kin-en-dshell-nav__item a {
		display: flex;
		align-items: center;
		justify-content: center;
		min-height: 2.75rem;
		padding: 0.55rem 0.35rem;
		color: var(--kin-en-text-secondary);
		font-size: 0.8rem;
		font-weight: 400;
		text-decoration: none;
		letter-spacing: -0.01em;
		transition: color 0.2s ease, background 0.2s ease;
	}

	.kin-en-dshell-nav__item a:hover,
	.kin-en-dshell-nav__item a:focus-visible {
		background: rgba(0, 0, 0, 0.04);
		color: var(--kin-en-text);
	}

	.kin-en-dshell-nav__item.is-current a,
	.kin-en-dshell-nav__item.is-current a:hover,
	.kin-en-dshell-nav__item.is-current a:focus-visible {
		background: var(--kin-en-bg);
		color: var(--kin-en-text);
		font-weight: 600;
		box-shadow: inset 0 -2px 0 var(--kin-en-text);
	}

	.kin-en-dshell-drawer {
		position: fixed;
		top: 0;
		right: 0;
		z-index: 100001;
		width: min(18rem, 88vw);
		height: 100%;
		margin: 0;
		padding: 4.5rem 1.25rem 1.5rem;
		background: var(--kin-en-bg);
		box-shadow: var(--kin-en-shadow);
		overflow-y: auto;
	}

	.kin-en-dshell-drawer[hidden] {
		display: none !important;
	}

	body.kin-en-drawer-open .kin-en-dshell-drawer {
		display: block;
	}

	.kin-en-dshell-drawer__list {
		list-style: none;
		margin: 0;
		padding: 0;
	}

	.kin-en-dshell-drawer__list a {
		display: block;
		padding: 0.75rem 0.35rem;
		border-bottom: 1px solid var(--kin-en-border-light);
		color: var(--kin-en-text);
		font-size: 0.95rem;
		font-weight: 500;
		text-decoration: none;
	}

	.kin-en-dshell-drawer__list a:hover,
	.kin-en-dshell-drawer__list a:focus-visible {
		color: var(--kin-en-link);
	}

	.kin-en-dshell-drawer-backdrop {
		position: fixed;
		inset: 0;
		z-index: 100000;
		background: rgba(0, 0, 0, 0.35);
	}

	.kin-en-dshell-drawer-backdrop[hidden] {
		display: none !important;
	}

	body.kin-en-drawer-open .kin-en-dshell-drawer-backdrop {
		display: block;
	}

	.kin-en-dshell-footer {
		position: fixed;
		left: 0;
		right: 0;
		bottom: 0;
		z-index: 99980;
		padding: 1.25rem 1.5rem 1.4rem;
		background: var(--kin-en-bg-secondary);
		color: var(--kin-en-text-secondary);
		text-align: center;
		border-top: 1px solid var(--kin-en-border-light);
	}

	body.kin-en-legal-page .kin-en-dshell-footer {
		position: static;
	}

	.kin-en-dshell-footer p {
		margin: 0 0 0.35rem;
		font-size: 0.75rem;
		line-height: 1.55;
	}

	.kin-en-dshell-footer__name {
		color: var(--kin-en-text);
		font-size: 0.82rem !important;
		font-weight: 600;
	}

	.kin-en-dshell-footer__copy {
		margin-bottom: 0 !important;
		font-size: 0.72rem !important;
		color: var(--kin-en-text-tertiary) !important;
	}

	/* 各ページ内の簡易フッターは PC では共通フッターに任せる */
	.kin-en-welcome__footer,
	.kin-en-mhome__footer,
	.kin-ar__copy {
		display: none !important;
	}

	/* トップ（スマホテンプレート）の PC 表示 */
	body.kin-en-mobile-home .kin-en-mhome__logo-wrap,
	body.kin-en-mobile-home .kin-en-mhome__grid {
		display: none !important;
	}

	body.kin-en-mobile-home .kin-en-mhome {
		display: block;
		max-width: none;
		min-height: 0;
		padding: 0;
	}

	.kin-en-dhome {
		box-sizing: border-box;
		max-width: var(--kin-en-content-max);
		margin: 0 auto;
		padding: 2.25rem 1.5rem 3.25rem;
		display: grid;
		grid-template-columns: minmax(0, 1fr) minmax(260px, 42%);
		gap: 2rem 2.5rem;
		align-items: start;
	}

	.kin-en-dhome__heading {
		margin: 0 0 1.25rem;
		font-size: 2rem;
		font-weight: 600;
		line-height: 1.15;
		letter-spacing: -0.03em;
		color: var(--kin-en-text);
	}

	.kin-en-dhome__list {
		margin: 0;
		padding-left: 1.35rem;
		font-size: 1rem;
		line-height: 1.65;
		color: var(--kin-en-text-secondary);
	}

	.kin-en-dhome__list li {
		margin-bottom: 0.75rem;
	}

	.kin-en-dhome__list li:last-child {
		margin-bottom: 0;
	}

	.kin-en-dhome__media {
		margin: 0;
	}

	.kin-en-dhome__media img {
		display: block;
		width: 100%;
		height: auto;
		box-shadow: var(--kin-en-shadow);
		border-radius: var(--kin-en-radius);
	}

	/* welcome 系ページ：2カラム */
	body.kin-en-welcome-page .kin-en-welcome,
	body.kin-en-activity-report .kin-ar,
	body.kin-en-single-post .kin-en-welcome {
		box-sizing: border-box;
		max-width: var(--kin-en-content-max);
		margin: 0 auto;
		padding: 2rem 1.5rem 3.25rem;
		min-height: calc(100vh - 11rem);
	}

	body.kin-en-welcome-page .kin-en-welcome {
		display: grid;
		grid-template-columns: minmax(0, 1fr) minmax(260px, 42%);
		gap: 1.5rem 2.5rem;
		align-items: start;
		max-width: var(--kin-en-content-max);
	}

	body.kin-en-welcome-page .kin-en-welcome__hero {
		grid-column: 2;
		grid-row: 1 / span 20;
		margin: 0;
		align-self: start;
	}

	body.kin-en-welcome-page .kin-en-welcome__hero img {
		box-shadow: var(--kin-en-shadow);
		border-radius: var(--kin-en-radius);
	}

	body.kin-en-welcome-page .kin-en-welcome__brand,
	body.kin-en-welcome-page .kin-en-welcome__list,
	body.kin-en-welcome-page .kin-en-overview__facts,
	body.kin-en-welcome-page .kin-en-business__list,
	body.kin-en-welcome-page .kin-en-philosophy__sections,
	body.kin-en-welcome-page .kin-en-logo__list,
	body.kin-en-welcome-page .kin-en-representative__name,
	body.kin-en-welcome-page .kin-en-representative__roles,
	body.kin-en-welcome-page .kin-en-representative__summary,
	body.kin-en-welcome-page .kin-en-representative__timeline,
	body.kin-en-welcome-page .kin-en-sponsors__list,
	body.kin-en-welcome-page .kin-en-contact__policy,
	body.kin-en-welcome-page .kin-en-single__title,
	body.kin-en-welcome-page .kin-en-single__meta,
	body.kin-en-welcome-page .kin-en-single__content,
	body.kin-en-welcome-page .kin-en-single__pages {
		grid-column: 1;
	}

	body.kin-en-welcome-page .kin-en-welcome__brand {
		background: transparent;
		color: var(--kin-en-text);
		text-align: left;
		padding: 0;
		margin: 0 0 1rem;
		border-radius: 0;
		border: 0;
	}

	body.kin-en-welcome-page .kin-en-welcome__brand-line {
		font-size: 1.75rem;
		font-weight: 600;
		letter-spacing: -0.03em;
	}

	body.kin-en-welcome-page .kin-en-welcome__list {
		padding-left: 1.35rem;
	}

	body.kin-en-welcome-page.kin-en-welcome-page:not(.kin-en-business-page):not(.kin-en-overview-page):not(.kin-en-philosophy-page):not(.kin-en-logo-page):not(.kin-en-representative-page):not(.kin-en-sponsors-page):not(.kin-en-contact-page):not(.kin-en-single-post) .kin-en-welcome__brand {
		display: none;
	}

	body.kin-en-welcome-page:not(.kin-en-business-page):not(.kin-en-overview-page):not(.kin-en-philosophy-page):not(.kin-en-logo-page):not(.kin-en-representative-page):not(.kin-en-sponsors-page):not(.kin-en-contact-page):not(.kin-en-single-post) .kin-en-welcome__list::before {
		content: "キン-エン株式会社とは";
		display: block;
		margin: 0 0 1rem;
		font-size: 2rem;
		font-weight: 600;
		line-height: 1.15;
		letter-spacing: -0.03em;
		color: var(--kin-en-text);
	}

	body.kin-en-welcome-page .kin-en-welcome__list {
		color: var(--kin-en-text-secondary);
	}

	/* 活動報告 */
	body.kin-en-activity-report .kin-ar {
		display: grid;
		grid-template-columns: minmax(0, 1fr) minmax(280px, 40%);
		gap: 1.5rem 2.5rem;
		align-items: start;
		max-width: var(--kin-en-content-max);
	}

	body.kin-en-activity-report .kin-ar__hero {
		grid-column: 2;
		grid-row: 1 / span 30;
		margin: 0;
		align-self: start;
	}

	body.kin-en-activity-report .kin-ar__hero-img {
		max-width: 100%;
		border-radius: var(--kin-en-radius);
		box-shadow: var(--kin-en-shadow);
	}

	body.kin-en-activity-report .kin-ar__title-pill {
		grid-column: 1;
		margin-left: 0;
		font-size: 1.75rem;
		padding: 0;
		background: transparent;
		border: 0;
		font-weight: 600;
		letter-spacing: -0.03em;
	}

	body.kin-en-activity-report .kin-ar__year-nav,
	body.kin-en-activity-report .kin-ar__list,
	body.kin-en-activity-report .kin-ar__pagination,
	body.kin-en-activity-report .kin-ar__empty {
		grid-column: 1;
	}

	/* 投稿単一：ヒーローありなら2カラム */
	body.kin-en-single-post .kin-en-welcome:has(.kin-en-welcome__hero) {
		display: grid;
		grid-template-columns: minmax(0, 1fr) minmax(260px, 42%);
		gap: 1.5rem 2.5rem;
	}

	body.kin-en-single-post .kin-en-welcome:has(.kin-en-welcome__hero) .kin-en-welcome__hero {
		grid-column: 2;
		grid-row: 1 / span 20;
		margin: 0;
	}

	body.kin-en-single-post .kin-en-welcome:has(.kin-en-welcome__hero) .kin-en-welcome__brand,
	body.kin-en-single-post .kin-en-welcome:has(.kin-en-welcome__hero) .kin-en-single__title,
	body.kin-en-single-post .kin-en-welcome:has(.kin-en-welcome__hero) .kin-en-single__meta,
	body.kin-en-single-post .kin-en-welcome:has(.kin-en-welcome__hero) .kin-en-single__content,
	body.kin-en-single-post .kin-en-welcome:has(.kin-en-welcome__hero) .kin-en-single__pages {
		grid-column: 1;
	}

	body.kin-en-single-post .kin-en-single__title,
	body.kin-en-single-post .kin-en-single__meta {
		text-align: left;
	}

	/* ページ全体をフレックスにしてフッターを下へ */
	body.kin-en-has-desktop-shell {
		display: flex;
		flex-direction: column;
		min-height: 100vh;
		padding-bottom: 5.8rem;
	}

	body.kin-en-legal-page.kin-en-has-desktop-shell {
		padding-bottom: 0;
	}

	body.kin-en-has-desktop-shell main {
		flex: 1 1 auto;
		width: 100%;
	}
}
