@media (max-width: 1280px) {
	.wkb-header-inner {
		gap: 18px;
	}

	.wkb-menu {
		gap: 18px;
	}

	.wkb-header-actions .wkb-button {
		font-size: 0.88rem;
		padding-left: 0.86rem;
		padding-right: 0.86rem;
	}
}

@media (max-width: 1180px) {
	.wkb-header-actions .wkb-button--line {
		display: none;
	}
}

@media (max-width: 1100px) {
	.wkb-card-grid--4,
	.wkb-card-grid--5,
	.wkb-overview-grid,
	.wkb-benefit-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.wkb-project-upcoming {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.wkb-news-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.wkb-header-inner {
		grid-template-columns: auto 1fr auto;
	}

	.wkb-header-actions .wkb-button--line {
		display: none;
	}

	.wkb-sponsor-banner {
		gap: 42px;
		grid-template-columns: minmax(0, 0.9fr) minmax(400px, 1fr);
		padding: 48px;
	}

	.wkb-sponsor-banner h2 {
		font-size: 2.4rem;
	}

	.wkb-sponsor-banner__media,
	.wkb-sponsor-banner__media img,
	.wkb-photo-placeholder--sponsor {
		min-height: 320px;
	}

	.wkb-involvement-card {
		min-height: 350px;
	}

	.wkb-involvement-card__icon {
		height: 132px;
		width: 132px;
	}
}

@media (max-width: 900px) {
	:root {
		--wkb-header-height: 68px;
	}

	h1 {
		font-size: 3.2rem;
	}

	h2 {
		font-size: 2.25rem;
	}

	.wkb-menu-toggle {
		display: inline-flex;
		position: relative;
		z-index: 110;
	}

	.wkb-primary-nav {
		background: #ffffff;
		border-bottom: 1px solid var(--wkb-border);
		box-shadow: var(--wkb-shadow);
		left: 0;
		opacity: 0;
		pointer-events: none;
		position: absolute;
		right: 0;
		top: var(--wkb-header-height);
		transform: translateY(-8px);
		transition: opacity 0.2s ease, transform 0.2s ease;
	}

	.wkb-header-inner {
		display: flex;
	}

	.wkb-header-actions {
		display: none;
	}

	.wkb-menu-open .wkb-primary-nav {
		opacity: 1;
		pointer-events: auto;
		transform: translateY(0);
	}

	.wkb-menu {
		align-items: stretch;
		display: grid;
		gap: 0;
		margin: 0 auto;
		max-width: var(--wkb-container);
		padding: 10px 24px 18px;
	}

	.wkb-menu a {
		display: block;
		padding: 0.82rem 0;
	}

	.wkb-yanagase-hero__inner,
	.wkb-photo-split,
	.wkb-photo-split--reverse,
	.wkb-support-panel,
	.wkb-report-panel,
	.wkb-split,
	.wkb-final-cta__inner,
	.wkb-sponsor-banner,
	.wkb-footer-inner {
		grid-template-columns: 1fr;
	}

	.wkb-final-cta__actions {
		justify-content: flex-start;
	}

	.wkb-front-hero__stage {
		border-radius: var(--wkb-radius);
		display: flex;
		flex-direction: column;
		min-height: auto;
	}

	.wkb-front-hero::after {
		display: none;
	}

	.wkb-front-hero__stage::after {
		background: none;
	}

	.wkb-front-hero > .wkb-container {
		padding-left: 24px;
		padding-right: 24px;
	}

	.wkb-front-hero__stage::before {
		display: none;
	}

	.wkb-front-hero__copy {
		max-width: none;
		padding: 48px 34px 30px;
		width: 100%;
	}

	.wkb-front-hero .wkb-button-row {
		flex-wrap: wrap;
	}

	.wkb-front-hero__badges {
		display: none;
	}

	.wkb-front-hero__media {
		height: 380px;
		position: relative;
	}

	.wkb-front-hero__media img {
		height: 100%;
		object-position: center;
	}

	.wkb-photo-placeholder {
		min-height: 360px;
	}

	.wkb-front-concept .wkb-split {
		gap: 30px;
		grid-template-columns: 1fr;
	}

	.wkb-front-concept .wkb-section-heading {
		max-width: none;
	}

	.wkb-front-concept .wkb-section-heading h2 {
		font-size: 2.2rem;
	}

	.wkb-front-concept h2 {
		font-size: 2.25rem;
	}

	.wkb-yanagase-hero__inner {
		gap: 32px;
	}

	.wkb-yanagase-hero {
		min-height: 560px;
	}

	.wkb-yanagase-hero__badges {
		bottom: -28px;
		justify-content: flex-start;
		left: 0;
		right: auto;
		width: min(460px, 100%);
	}

	.wkb-report-panel__copy {
		padding: 0;
	}

	.wkb-section-heading--row {
		align-items: flex-start;
		flex-direction: column;
	}

	.wkb-area-card--featured {
		grid-template-columns: 1fr;
	}

	.wkb-area-card--featured .wkb-area-card__body {
		padding: 8px 4px 4px;
	}

	.wkb-project-upcoming {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.wkb-two-columns {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 640px) {
	.wkb-container {
		padding-left: 18px;
		padding-right: 18px;
	}

	body {
		font-size: 16px;
	}

	h1 {
		font-size: 2.45rem;
	}

	h2 {
		font-size: 1.85rem;
	}

	.wkb-front-hero__lead {
		font-size: 1.22rem;
	}

	.wkb-front-hero h1 small {
		font-size: 1rem;
	}

	.wkb-sponsor-banner h2,
	.wkb-single-header h1 {
		font-size: 2rem;
	}

	.wkb-front-hero,
	.wkb-yanagase-hero,
	.wkb-page-hero {
		padding: 32px 0 46px;
	}

	.wkb-yanagase-hero {
		background: #f7fbff;
		color: var(--wkb-text);
		min-height: auto;
		padding-top: 28px;
	}

	.wkb-yanagase-hero__media,
	.wkb-yanagase-hero__overlay {
		position: relative;
		z-index: auto;
	}

	.wkb-yanagase-hero__media {
		border-radius: 24px;
		box-shadow: 0 20px 48px rgba(20, 50, 87, 0.14);
		height: 340px;
		margin: 0 18px 24px;
		overflow: hidden;
	}

	.wkb-yanagase-hero__media img {
		object-position: center;
	}

	.wkb-yanagase-hero__overlay {
		display: none;
	}

	.wkb-yanagase-hero__inner {
		min-height: auto;
	}

	.wkb-yanagase-hero__badges {
		display: none;
	}

	.wkb-yanagase-hero h1 {
		font-size: 2.72rem;
	}

	.wkb-section {
		padding: 56px 0;
	}

	.wkb-card-grid--3,
	.wkb-card-grid--4,
	.wkb-card-grid--5,
	.wkb-news-grid,
	.wkb-overview-grid,
	.wkb-project-grid,
	.wkb-project-upcoming,
	.wkb-benefit-grid {
		grid-template-columns: 1fr;
	}

	.wkb-photo-card--wide img {
		aspect-ratio: 3 / 2;
	}

	.wkb-support-panel,
	.wkb-report-panel {
		border-radius: 20px;
		padding: 22px;
	}

	.wkb-button-row,
	.search-form {
		align-items: stretch;
		flex-direction: column;
	}

	.wkb-button,
	.search-submit {
		width: 100%;
	}

	.wkb-card,
	.wkb-info-panel,
	.wkb-trust-card,
	.wkb-news-card__body,
	.wkb-form-placeholder,
	.wkb-form-card,
	.wkb-thanks-panel,
	.wkb-page-fallback,
	.wkb-muted-panel {
		padding: 20px;
	}

	.wkb-form-section {
		padding: 24px 0 56px;
	}

	.wkb-form-card {
		border-radius: 18px;
	}

	.wkb-form-card__head {
		margin-bottom: 22px;
		padding-bottom: 18px;
	}

	.wkb-form-card .forminator-ui .forminator-row {
		margin-bottom: 17px !important;
	}

	.wkb-form-card .forminator-ui input[type="text"],
	.wkb-form-card .forminator-ui input[type="email"],
	.wkb-form-card .forminator-ui input[type="tel"],
	.wkb-form-card .forminator-ui input[type="number"],
	.wkb-form-card .forminator-ui input[type="url"],
	.wkb-form-card .forminator-ui select,
	.wkb-form-card .forminator-ui textarea {
		font-size: 16px !important;
		max-width: 100% !important;
	}

	.wkb-form-card .forminator-ui .forminator-button,
	.wkb-form-card .forminator-ui .forminator-button-submit {
		width: 100% !important;
	}

	.wkb-form-placeholder {
		width: calc(100% - 36px);
	}

	.wkb-sponsor-banner {
		padding: 28px;
	}

	.wkb-form__grid,
	.wkb-form__checks {
		grid-template-columns: 1fr;
	}

	.wkb-form__submit {
		align-items: stretch;
		flex-direction: column;
	}

	.wkb-front-hero__copy {
		padding: 34px 22px 22px;
	}

	.wkb-front-hero > .wkb-container {
		padding-left: 18px;
		padding-right: 18px;
	}

	.wkb-front-hero h1 span {
		font-size: 2.68rem;
	}

	.wkb-front-concept .wkb-section-heading h2 {
		font-size: 1.9rem;
	}

	.wkb-front-concept h2 {
		font-size: 1.95rem;
	}

	.wkb-front-hero__media {
		height: 290px;
	}

	.wkb-area-card--featured .wkb-area-card__visual {
		min-height: 190px;
	}

	.wkb-photo-placeholder {
		min-height: 300px;
	}

	.wkb-sponsor-banner__media,
	.wkb-sponsor-banner__media img,
	.wkb-photo-placeholder--sponsor {
		min-height: 220px;
	}

	.wkb-benefit-card {
		min-height: auto;
		padding: 26px 22px;
	}

	.wkb-benefit-card__icon {
		height: 104px;
		width: 104px;
	}

	.wkb-benefit-card__icon span {
		height: 66px;
		width: 66px;
	}

	.wkb-value-card__icon {
		background-size: 64px 64px;
		height: 116px;
		width: 116px;
	}

	.wkb-involvement-card__icon {
		background-size: 78% auto;
		height: 112px;
		width: 112px;
	}

	.wkb-news-card__image {
		height: 180px;
	}

	.wkb-step-list li {
		align-items: start;
		grid-template-columns: 36px 1fr;
		padding: 13px 14px;
	}
}


@media (max-width: 900px) {
	.wkb-before-after,
	.wkb-sponsor-plan-grid,
	.wkb-sponsor-menu__snack,
	.wkb-sponsor-menu__note {
		grid-template-columns: 1fr;
	}

	.wkb-before-after {
		gap: 18px;
	}

	.wkb-before-after__arrow {
		padding-top: 0;
	}

	.wkb-before-after__arrow span {
		height: auto;
		min-height: 48px;
		padding: 0.62rem 1rem;
		width: auto;
	}

	.wkb-sponsor-menu__snack {
		align-items: flex-start;
	}

	.wkb-sponsor-menu__note {
		align-items: flex-start;
		display: grid;
	}
}

@media (max-width: 640px) {
	.wkb-yanagase-future .wkb-section-heading {
		text-align: left;
	}

	.wkb-before-after__body,
	.wkb-sponsor-plan {
		padding: 22px;
	}

	.wkb-before-after__body h3 {
		font-size: 1.22rem;
	}

	.wkb-sponsor-menu__snack,
	.wkb-sponsor-menu__note {
		padding: 22px;
	}

	.wkb-sponsor-plan__price {
		font-size: 1.9rem;
	}
}

@media (max-width: 900px) {
	.wkb-request-hero {
		padding: 48px 0 58px;
	}

	.wkb-request-hero__inner,
	.wkb-request-yanagase,
	.wkb-request-consult {
		grid-template-columns: 1fr;
	}

	.wkb-request-hero__inner {
		gap: 32px;
	}

	.wkb-request-hero__visual img {
		aspect-ratio: 16 / 10;
	}

	.wkb-request-card-grid,
	.wkb-request-flow {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.wkb-request-card,
	.wkb-request-card:nth-child(4),
	.wkb-request-card:nth-child(5) {
		grid-column: auto;
	}

	.wkb-request-yanagase {
		padding: 22px;
	}

	.wkb-request-consult {
		padding: 34px;
	}
}

@media (max-width: 640px) {
	.wkb-request-hero {
		padding: 36px 0 46px;
	}

	.wkb-request-hero h1 {
		font-size: 2.34rem;
	}

	.wkb-request-hero__lead {
		font-size: 1.12rem;
	}

	.wkb-request-hero__visual {
		border-radius: 22px;
	}

	.wkb-request-hero__visual figcaption {
		bottom: 12px;
		font-size: 0.78rem;
		left: 12px;
	}

	.wkb-request-card-grid,
	.wkb-request-flow {
		grid-template-columns: 1fr;
	}

	.wkb-request-card {
		min-height: auto;
	}

	.wkb-request-service,
	.wkb-request-flow li {
		gap: 14px;
		grid-template-columns: 1fr;
		padding: 20px;
	}

	.wkb-request-service > span,
	.wkb-request-flow li > span {
		height: 40px;
		width: 40px;
	}

	.wkb-request-yanagase,
	.wkb-request-consult {
		border-radius: 22px;
		padding: 22px;
	}

	.wkb-request-yanagase figure {
		border-radius: 18px;
	}

	.wkb-request-consult__actions .wkb-button {
		min-height: 48px;
	}

	.wkb-request-faq summary {
		padding: 18px 20px;
	}

	.wkb-request-faq p {
		padding: 16px 20px 20px;
	}
}
