@charset "utf-8";

/* ==========================================================================
   1. Modern Reset
   ========================================================================== */

*,
*::before,
*::after {box-sizing: border-box;margin: 0;padding: 0}
html {
	font-size: 62.5%;scroll-behavior: smooth;-webkit-text-size-adjust: 100%;
}
body {
	font-family: var(--typography-fontFamily-sans, "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Yu Gothic", "Meiryo", sans-serif);
	font-size: 1.6rem;line-height: var(--typography-lineHeight-body, 1.8);color: var(--color-text-primary, #111111);
	letter-spacing: var(--typography-letterSpacing-defaultEm, 0.05em);
	font-feature-settings: "pkna" 1;
	font-kerning: auto;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	background: var(--color-bg-default, #fefefe);
}
ul,
ol {list-style: none}
a {color: inherit;text-decoration: none}
img {max-width: 100%;height: auto;vertical-align: bottom}
table {border-collapse: collapse}
::selection {
	background: var(--color-bg-inverse, #000000);
	color: var(--color-text-onDark, #ffffff);
}

/* ==========================================================================
   2. Layout
   ========================================================================== */

.wrap {
	--wrap-gutter: var(--space-5, 20px);
	width: 100%;
	max-width: calc(var(--layout-maxWidth-content, 1280px) + (2 * var(--wrap-gutter)));
	margin-inline: auto;
	padding-inline: var(--wrap-gutter);
}

/* Full-bleed site width (CTA panels, works hero image, etc.) */
.wrap--site {
	max-width: var(--layout-maxWidth-site, 1440px);
}

@media (min-width: 1024px) {
	.wrap {
		--wrap-gutter: 0px;
		max-width: var(--layout-maxWidth-content, 1280px);
	}
}

main {
	display: block;
}

.animated:not([data-animate-children]) {
	opacity: 0;
	filter: blur(1em) brightness(1.3);
}
.animated[data-animate-children] > .fade-blur ,
.animated[data-animate-children] > .mask-reveal img {
	opacity: 0;
}
.fade-blur {
	display: inline-block;
	opacity: 0;
	filter: blur(1em) brightness(1.3);
	animation: fadeBlur .9s cubic-bezier(.165,.84,.44,1) forwards;
	animation-delay: var(--delay, 0ms);
}

@keyframes fadeBlur {
	to {
		opacity: 1;
		filter: blur(0) brightness(1);
	}
}

.mask-reveal img {
	opacity: 0;
	-webkit-mask-image: url(../images/icons/mask.webp);
	-webkit-mask-repeat: no-repeat;
	-webkit-mask-size: auto 200%;
	-webkit-mask-position: center bottom;

	mask-image: url(../images/icons/mask.webp);
	mask-mode: alpha;
	mask-position: center bottom;
	mask-repeat: no-repeat;
	mask-size: auto 200%;
	mask-repeat: no-repeat;

	animation:
		maskReveal 1.5s cubic-bezier(0,.4,.48,1) forwards;
	animation-delay: var(--delay, 0ms);
}
.animated[data-animate="mask-reveal"] {
	opacity: 1;filter: none;
}
.animated[data-animate="mask-reveal"] img {
	opacity: 0;
}

@keyframes maskReveal {
	0% {
		opacity: 0;
		mask-position: center bottom;
		-webkit-mask-position: center bottom;
	}

	1% {
		opacity: 1;
	}

	100% {
		opacity: 1;
		-webkit-mask-position: center 0%;
		-webkit-mask-size: auto 500%;
		mask-position: center 0%;
		mask-size: auto 500%;
	}
}

/* ==========================================================================
   Components — Button
   ========================================================================== */

.btn {
	display: inline-flex;position: relative;
	align-items: center;
	justify-content: space-between;
	gap: var(--space-3, 12px);
	min-height: var(--size-button-height, 50px);
	padding: 0 var(--space-6, 24px);
	border-radius: var(--radius-button, 25px);
	font-size: var(--typography-fontSize-nav, 14px);
	font-weight: var(--typography-fontWeight-medium, 500);
	line-height: var(--typography-lineHeight-tight, 1.2);
	text-align: center;
	transition: opacity 0.2s, background-color 0.2s, border-color 0.2s, width 0.2s;
}

.btn:hover {
	opacity: 0.9;
}

.btn__label {
	display: inline-block;padding-right: var(--space-10,40px);
}

.btn--outline {
	background: var(--color-bg-default, #ffffff);
	border: 1px solid var(--color-border-default, #cfd0d4);
	color: var(--color-text-primary, #000000);
}

.btn--solid {
	background: var(--color-bg-inverse, #000000);
	border: 1px solid var(--color-bg-inverse, #000000);
	color: var(--color-text-onDark, #ffffff);
	min-width: auto;
	padding: 0 var(--space-5, 20px);
}

.btn--text {
	min-width: auto;
	min-height: auto;
	padding: 0;
	border: none;
	border-radius: 0;
	background: transparent;
	color: var(--color-text-primary, #000000);
	font-size: var(--typography-fontSize-cta, 13px);
	line-height: var(--typography-lineHeight-tight, 1.2);
}

.btn--text:hover {
	opacity: 0.6;
}

.btn__icon {
	display: inline-flex;
	flex-shrink: 0;
	align-items: center;
	justify-content: center;
	line-height: 0;
}

.btn__icon img {
	display: block;
	width: 100%;
	height: 100%;
	max-width: none;
	object-fit: contain;
}

.btn__dot {
	position: absolute;
	right: var(--space-6, 24px);
	flex-shrink: 0;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: var(--size-button-dot, 4px);
	height: var(--size-button-dot, 4px);
	overflow: hidden;
	border-radius: 50%;
	background: currentColor;
	transform: scale3d(1,1,1);
	transition: transform 0.25s ease;
}

.quality-card__link:hover .btn__dot,
.quality-card__link:focus-visible .btn__dot,
.cta-panel__link:hover .btn__dot,
.cta-panel__link:focus-visible .btn__dot,
.btn:hover .btn__dot,
.btn:focus-visible .btn__dot {
	transform: scale3d(5,5,5);transition: transform 0.25s ease;
}

.btn__dot::after {
	content: "";
	position: absolute;
	width: 10px;
	height: 10px;
	background: url(../images/icons/arrow01.svg) no-repeat center / contain;
	opacity: 0;
	transform: scale(0.2); /* 1 ÷ 5 = 0.2 */
	transition: opacity .2s ease;
}

.quality-card__link:hover .btn__dot::after,
.quality-card__link:focus-visible .btn__dot::after,
.btn:hover .btn__dot::after,
.btn:focus-visible .btn__dot::after,
.cta-panel__link:hover .btn__dot::after,
.cta-panel__link:focus-visible .btn__dot::after {
    opacity: 1;
    transition: opacity .2s .15s ease;
}

* a[href$=".pdf"] ,
* a[href^="https://maps"] {
	color: var(--color-text-black);padding: 0 28px 0 0;line-height: 1.4;
	position: relative;
}
* a[href$=".pdf"]::after ,
* a[href^="https://maps"]::after {
	content: "";width: 24px;height: 24px;position: absolute;bottom: calc(45% - 12px);right: 0;
	background: url(../images/icons/pdf.svg) no-repeat center / 100%;
}
* a[href^="https://maps"]::after {
	background: url(../images/icons/map.svg) no-repeat center / 100%;
}

/* ==========================================================================
   Components — Site Header
   ========================================================================== */

.site-header {
	position: relative;
	z-index: 100;
	background: var(--color-bg-default, #ffffff);
}

/* Overlay header: transparent over first view, fixed + transparent after scroll */
.has-header-overlay #page {
	position: relative;
}

.site-header--overlay {
	position: absolute;
	top: 0;
	right: 0;
	left: 0;
	z-index: 200;
	background: transparent;
}

.site-header--overlay.site-header--stuck {
	position: fixed;
	background: linear-gradient(180deg,rgba(255, 255, 255, .7) 0%, rgba(255, 255, 255, .7) 7%, rgba(255, 255, 255, 0) 92%)
}

.site-header--overlay.site-header--light-text .site-header__logo {
	color: var(--color-text-onDark, #ffffff);
}
.is-drawer-open.site-header--overlay.site-header--light-text .site-header__logo {
	color: var(--color-text-black, #000);
}

.site-header--overlay.site-header--light-text .site-header__menu a,
.site-header--overlay.site-header--light-text .site-header__cta-group .btn--text {
	color: var(--color-text-onDark, #ffffff);
}

.site-header--overlay.site-header--light-text .site-header__cta-group {
	background: transparent;
}

.site-header--overlay.site-header--light-text .btn__icon img {
	filter: brightness(0) invert(1);
}

.site-header--overlay.site-header--light-text .site-header__menu-trigger {
	border-color: rgba(255, 255, 255, 0.55);
	background: transparent;
}

.site-header--overlay.site-header--light-text .site-header__menu-trigger-bar {
	background: var(--color-text-onDark, #ffffff);
}

.is-drawer-open.site-header--overlay .site-header__menu-trigger-bar {
	transform-origin: 0;width: 23px;
}
.is-drawer-open.site-header--overlay .site-header__menu-trigger-bar:nth-of-type(2) {
	transform: rotate(45deg) translate3d(1px,-4px,0);
}
.is-drawer-open.site-header--overlay .site-header__menu-trigger-bar:nth-of-type(3) {
	opacity: 0;
}
.is-drawer-open.site-header--overlay .site-header__menu-trigger-bar:nth-of-type(4) {
	transform: rotate(-45deg) translate3d(1px,3px,0);
}

.site-header-boundary--viewport {
	position: absolute;
	top: 0;
	right: 0;
	left: 0;
	height: 100vh;
	height: 100svh;
	margin: 0;
	padding: 0;
	overflow: hidden;
	pointer-events: none;
	visibility: hidden;
}

.single-block,
.page-block {
	position: relative;
}

.site-header__inner {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: var(--space-4, 16px);
	max-width: var(--layout-maxWidth-header, 1360px);
	min-height: var(--size-header-height, 72px);
	margin: 0 auto;
	padding: 0 var(--layout-gutter-header, 40px);
}

.site-header__brand {
	display: inline-flex;flex-direction: column;
	flex-shrink: 0;
	align-items: center;
}
.site-header__lead {
	display: none;
	font-size: var(--typography-fontSize-footer,10px);
}

.site-header__logo {
	display: block;
	width: 180px;
	height: auto;
	color: var(--color-text-primary, #000000);
}

.site-header__logo path {
	fill: currentColor;
}

.site-header__tools {
	display: flex;
	flex: 1;
	align-items: center;
	justify-content: flex-end;
	gap: var(--space-4, 16px);
	min-width: 0;
}

.site-header__nav {
	display: none;
}

.site-header__menu {
	display: flex;
	flex-direction: column;
	gap: var(--space-2, 8px);
	margin: 0;
	padding: 0;
	list-style: none;
}

.site-header__menu a {
	display: block;
	padding: 0.4em 0;
	font-size: var(--typography-fontSize-nav, 14px);
	font-weight: var(--typography-fontWeight-regular, 400);
	line-height: var(--typography-lineHeight-nav, 2);
	color: var(--color-text-primary, #000000);
}

.site-header__cta-group {
	display: none;
	flex-shrink: 0;
	align-items: center;
	gap: var(--space-5, 20px);
	padding: var(--space-4, 16px) var(--space-6, 24px);
	border-radius: var(--radius-pill, 999px);
	background: rgba(0, 0, 0, .1);
}
.site-header__cta-group .btn__label {
	padding-right: var(--space-0,0);
}

.site-header__cta-group .btn--text {
	gap: var(--space-2, 8px);
}

.site-header__menu-trigger {
	display: inline-flex;
	flex-shrink: 0;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 4px;
	width: 44px;
	height: 44px;
	padding: 0;
	border: none;
	border-radius: 50%;
	background: var(--color-bg-inverse, #000000);
	cursor: pointer;
	transition: opacity 0.2s;
}

.site-header__menu-trigger:hover {
	opacity: 0.8;
}

.site-header__menu-trigger-bar {
	display: block;
	width: 18px;
	height: 2px;
	background: var(--color-text-onDark, #ffffff);
	transition: transform 0.2s, opacity 0.2s;
}

.site-header__drawer {
	position: absolute;
	top: calc(100% + var(--space-2, 8px));
	right: var(--layout-gutter-header, 40px);
	z-index: 110;
	width: min(var(--size-drawer-width, 762px), calc(100vw - (var(--layout-gutter-header, 40px) * 2)));
	overflow: hidden;
	border-radius: var(--radius-button, 25px);
	background: var(--color-bg-drawer, rgba(0, 0, 0, 0.92));
	box-shadow: var(--shadow-md, 0 4px 12px rgba(0, 0, 0, 0.12));
}

.site-header__drawer-inner {
	padding: var(--space-12, 64px);
}

.site-header__drawer-grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) var(--size-drawer-ctaWidth, 180px);
	gap: var(--space-8, 32px) var(--space-10, 40px);
	align-items: start;
}

.site-header__drawer-nav {
	margin-top: var(--space-4,16px);
}

.site-header__drawer-menu {
	display: flex;
	flex-direction: column;
	gap: var(--space-5, 20px);
	line-height: 1;
	list-style: none;
}

.site-header__drawer-menu--nested {
	gap: var(--space-5, 20px);
	margin-top: var(--space-5, 20px);
	padding-left: var(--space-1, 4px);
}

.site-header__drawer-menu-link {
	display: inline-flex;
	align-items: center;
	font-size: var(--typography-fontSize-nav, 14px);
	line-height: 1;
	color: var(--color-text-onDark, #ffffff);
	transition: opacity 0.2s;
}

.site-header__drawer-menu-link:hover,
.site-header__drawer-menu-link:focus-visible {
	opacity: 0.7;
}

.site-header__drawer-menu-item--child .site-header__drawer-menu-link::before {
	content: "";
	flex-shrink: 0;
	width: 4px;
	height: 2px;
	margin-right: var(--space-2, 8px);
	background: currentColor;
}

.site-header__drawer-aside {
	display: flex;
	flex-direction: column;
	gap: var(--space-6, 24px);
}

.site-header__drawer-cta-list,
.site-header__drawer-social-list {
	display: flex;
	flex-direction: column;
	gap: var(--space-1, 4px);
	margin: 0;
	padding: 0;
	list-style: none;
}

.site-header__drawer-cta-link {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: var(--size-drawer-ctaHeight, 60px);
	padding: var(--space-2, 8px) var(--space-3, 12px);
	border-radius: var(--radius-card, 5px);
	background: var(--color-bg-default, #ffffff);
	color: var(--color-palette-footer, #363431);
	font-size: var(--typography-fontSize-nav, 14px);
	line-height: 1.2;
	text-align: center;
	transition: opacity 0.2s;
}

.site-header__drawer-cta-link:hover,
.site-header__drawer-cta-link:focus-visible {
	opacity: 0.85;
}

.site-header__drawer-social-link {
	display: inline-flex;
	align-items: center;
	gap: var(--space-2, 8px);
	color: var(--color-text-onDark, #ffffff);
	font-size: var(--typography-fontSize-nav, 14px);
	line-height: 1;
	transition: opacity 0.2s;
}

.site-header__drawer-social-link:hover,
.site-header__drawer-social-link:focus-visible {
	opacity: 0.7;
}

.site-header__drawer-social-icon {
	flex-shrink: 0;
	display: block;
	width: 16px;
	height: 16px;
	filter: brightness(0) invert(1);
}

.site-header__backdrop {
	position: fixed;
	inset: 0;
	z-index: 90;
	background: rgba(0, 0, 0, 0.25);
}

html.is-header-drawer-open {
	overflow: hidden;
}

@media (max-width: 879px) {
	.site-header__drawer-grid {
		grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	}

	.site-header__drawer-aside {
		grid-column: 1 / -1;
		flex-direction: row;
		flex-wrap: wrap;
		align-items: flex-start;
		gap: var(--space-6, 24px);
	}

	.site-header__drawer-cta-list,
	.site-header__drawer-social-list {
		flex: 1;
		min-width: min(100%, var(--size-drawer-ctaWidth, 180px));
	}
}

@media (max-width: 599px) {
	.site-header__drawer-inner {
		padding: var(--space-10, 40px) var(--space-5, 20px);
	}

	.site-header__drawer-grid {
		grid-template-columns: 1fr;
	}

	.site-header__drawer-aside {
		flex-direction: column;
	}
}

.front-quick-nav {
	display: none;
}

/* ==========================================================================
   Components — Section Heading
   ========================================================================== */

.section-heading {
	margin: 0 0 var(--space-8, 32px);
}

.section-heading__title {
	font-family: var(--typography-fontFamily-serif, "Noto Serif JP", serif);
	font-size: var(--typography-fontSize-h1, 32px);
	font-weight: var(--typography-fontWeight-regular, 400);
	line-height: 1.5;
	color: var(--color-text-primary, #000000);
}

.section-heading--large .section-heading__title {
	font-size: var(--typography-fontSize-sectionTitleLg, 48px);
}

.section-heading__subtitle {
	font-family: var(--typography-fontFamily-serif, "Noto Serif JP", serif);
	margin: var(--space-2, 8px) 0 var(--space-10, 40px);
	font-size: var(--typography-fontSize-tab, 16px);
	line-height: 1;
	color: var(--color-palette-gray-500, #999999);
}

/* ==========================================================================
   Components — Section Tabs
   ========================================================================== */

.section-tabs {
	margin: 0 0 var(--space-8, 32px);
	--section-tabs-indicator: #bc914c;
}

.section-tabs__list {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	min-height: var(--size-tabNav-height, 50px);
	padding: 0 var(--space-4, 16px);
	border: 1px solid var(--color-border-default, #cfd0d4);
	border-radius: var(--radius-button, 25px);
	background: var(--color-palette-gray-50, #fafafa);
}

.section-tabs__item {
	display: flex;
	position: relative;
	flex: 1;
	align-items: center;
	justify-content: center;
	min-width: 0;
}

.section-tabs__item:not(:last-child)::after {
	content: "";
	position: absolute;
	top: 50%;
	right: 0;
	width: 1px;
	height: 26px;
	background: var(--color-palette-divider, #d9d9d9);
	transform: translateY(-50%);
}

.section-tabs__link {
	position: relative;
	display: inline-block;
	padding: var(--space-1, 4px) 0;
	font-size: var(--typography-fontSize-tab, 16px);
	font-weight: var(--typography-fontWeight-regular, 400);
	line-height: 1;
	color: var(--color-text-primary, #000000);
	text-decoration: none;
	white-space: nowrap;
}

.section-tabs__link::after {
	content: "";
	position: absolute;
	right: 0;
	bottom: -3px;
	left: 0;
	height: 2px;
	background: transparent;
	transition: background-color 0.15s ease;
}

.section-tabs__link:hover::after,
.section-tabs__link:focus-visible::after,
.section-tabs__item.is-active .section-tabs__link::after {
	background: var(--section-tabs-indicator);
}

.section-tabs__link:focus-visible {
	outline: 2px solid var(--color-border-focus, #000000);
	outline-offset: 2px;
	border-radius: var(--radius-sm, 4px);
}

@media (prefers-reduced-motion: reduce) {
	.section-tabs__link::after {
		transition: none;
	}
}

/* CTA Panel */
.front-cta-panel {
	padding: var(--space-30, 120px) var(--space-4, 16px) var(--space-4, 16px);
}
.front-cta-panel .wrap {
	padding: 0;
}

.front-cta-panel__grid {
	display: grid;
	gap: var(--space-3, 12px);
	grid-template-columns: 1fr;
}

.cta-panel {
	position: relative;
	min-height: 353px;
	overflow: hidden;
}

.cta-panel__link {
	position: relative;
	display: flex;
	align-items: stretch;
	min-height: 353px;
	color: var(--color-text-onDark, #ffffff);
}

.cta-panel__media {
	position: absolute;
	inset: 0;
	z-index: 0;
}

.cta-panel__media picture {
	display: block;
	width: 100%;
	height: 100%;
}

.cta-panel__image {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}

.cta-panel__overlay {
	position: absolute;
	inset: 0;
	z-index: 1;
	background: rgba(0, 0, 0, 0.4);
}

.cta-panel__content {
	position: relative;
	z-index: 2;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	width: 100%;
	padding: var(--space-10, 40px) 0;
	text-align: center;
}

.cta-panel__icon {
	display: inline-flex;
	flex-shrink: 0;
	align-items: center;
	justify-content: center;
	margin-bottom: var(--space-4, 16px);
	width: var(--space-6, 24px);
	line-height: 0;
}

.cta-panel__icon img {
	display: block;
	width: 100%;
	height: 100%;
	max-width: none;
	object-fit: contain;
	filter: brightness(0) invert(1);
}

.cta-panel__title {
	font-family: var(--typography-fontFamily-serif, "Noto Serif JP", serif);
	font-size: var(--typography-fontSize-sectionSubtitle, 24px);
	font-weight: 600;line-height: 1;
	margin-bottom: var(--space-12, 48px);
}

.cta-panel__text {
	margin-bottom: var(--space-8, 32px);
	font-size: var(--typography-fontSize-body, 16px);
}

.cta-panel__text p {
	line-height: 1.6;
}

.cta-panel__button {
	pointer-events: none;
	color: #404040;
}

@media (min-width: 768px) {
	.front-cta-panel__grid {
		grid-template-columns: repeat(var(--cta-panel-cols, 3), minmax(0, 1fr));
	}
}

/* ==========================================================================
   Components — Card
   ========================================================================== */

.card {
	height: 100%;
}

.card__link {
	display: flex;
	flex-direction: column;
	height: 100%;
	color: inherit;
}

.card__media {
	overflow: hidden;position: relative;
	aspect-ratio: 3 / 2;
	background: var(--color-bg-card, #f0eee7);
}

.card__media::before {
	content: "";position: absolute;top: 45%;z-index: 0;left: 0;
	width: 100%;height: 10%;filter: invert(1);
	background: url(../images/logo.svg) no-repeat center / auto 100%;
}

.card__image {
	display: block;
	width: 100%;
	position: relative;z-index: 1;
	aspect-ratio: 3 / 2;
	object-fit: cover;
}

.card--event .card__media {
	min-height: var(--size-card-imageHeight, 200px);
	border-radius: var(--radius-card, 5px);
}

.card__body {
	padding:var(--space-3 ,12px) 0 0;
}

.card__meta,
.card__date {
	font-size: var(--typography-fontSize-cardMeta, 12px);
	line-height: 1;
	color: var(--color-palette-gray-500, #9b9b9b);
}

.card__title {
	font-size: var(--typography-fontSize-h4, 18px);
	font-weight: var(--typography-fontWeight-regular, 400);
	line-height: 1.5;
}
.card__body + .card__title:not(:nth-of-type(1)) {
	margin-top: var(--space-3, 12px);
}

.card__meta + .card__title {
	margin-top: var(--space-3, 12px);
}

.card__badge {
	display: inline-block;
	margin: 0 0 var(--space-2, 8px);
	padding: 0.2em 0.8em;
	border-radius: var(--radius-sm, 4px);
	background: var(--color-bg-inverse, #000000);
	color: var(--color-text-onDark, #ffffff);
	font-size: var(--typography-fontSize-cardMeta, 12px);
	line-height: 1.4;
}

.card-grid {
	display: grid;
	gap: var(--space-12, 48px) var(--space-5, 20px);
	grid-template-columns: 1fr;
}

.card__meta-row {
	display: flex;justify-content: space-between;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--space-2, 8px);
	margin-top: var(--space-2, 8px);
}

.card__meta-row  .card__date {
	margin: 0;
	color: var(--color-palette-gray-400, #a9a9a9);
}

.card__meta-row  .card__badge {
	margin: 0;
}

/* ==========================================================================
   Components — Site Footer
   ========================================================================== */

.site-footer {
	background: var(--color-bg-footer, #363431);
	color: var(--color-text-onDark, #ffffff);
	padding: var(--space-10, 40px) 0 var(--space-6, 24px);
}

.site-footer__inner {
	display: grid;
	gap: var(--space-8, 32px);
	grid-template-columns: 1fr;
}

.site-footer__logo {
	display: block;
	width: 180px;
	height: auto;
	color: var(--color-text-onDark, #ffffff);
}

.site-footer__logo path {
	fill: currentColor;
}

.site-footer__company {
	margin: var(--space-4, 16px) 0 var(--space-3, 12px);
	font-size: var(--typography-fontSize-body, 16px);
	font-weight: var(--typography-fontWeight-bold, 700);
	line-height: var(--typography-lineHeight-nav, 2);
}

.site-footer__address {
	font-style: normal;
	font-size: var(--typography-fontSize-nav, 14px);
	line-height: var(--typography-lineHeight-nav, 2);
}

.site-footer__freedial {
	display: flex;
	align-items: center;
	gap: var(--space-2, 8px);
	width: fit-content;
	margin: 0;
	color: var(--color-text-onDark, #ffffff);
	text-decoration: none;
	line-height: inherit;
}

.site-footer__freedial:hover {
	opacity: 0.8;
}

.site-footer__freedial-icon {
	display: block;
	flex-shrink: 0;
	width: auto;
	height: 14px;
}

.site-footer__freedial-number {
	font-size: inherit;
	font-weight: inherit;
	letter-spacing: inherit;
	line-height: inherit;
}

.site-footer__tel {
	display: inline-block;
	color: inherit;
	text-decoration: none;
}

.site-footer__tel:hover {
	opacity: 0.8;
}

.site-footer__menu {
	display: flex;
	flex-direction: column;
	gap: var(--space-2, 8px);
}

.site-footer__menu a {
	font-size: var(--typography-fontSize-nav, 14px);
	line-height: 1;
	color: var(--color-text-onDark, #ffffff);
}

.site-footer__menu a:hover {
	opacity: 0.7;
}

.site-footer__menu-item--child a {
	padding-left: var(--space-4, 16px);
}

.site-footer__menu--social {
	gap: var(--space-2, 8px);
}

.site-footer__social-link {
	display: inline-flex;
	align-items: center;
	gap: var(--space-2, 8px);
	line-height: 1;
	color: var(--color-text-onDark, #ffffff);
}

.site-footer__social-link:hover {
	opacity: 0.7;
}

.site-footer__social-icon {
	flex-shrink: 0;
	display: block;
	width: 16px;
	height: 16px;
}

.site-footer__social-label {
	font-size: var(--typography-fontSize-nav, 14px);
}

.site-footer__copyright {
	margin: var(--space-8, 32px) 0 0;
	text-align: center;
	font-size: var(--typography-fontSize-footer, 10px);
	line-height: var(--typography-lineHeight-nav, 2);
	color: var(--color-text-onDark, #ffffff);
}

/* -- Main Area -- */
main.top {
	margin: 0;
}

main.entry {
	padding: 40px 0;
}

main.index {
	padding: 40px 0;
}

/* ==========================================================================
   3. Components — Lead Section (Front Page)
   ========================================================================== */

section.lead {
	max-width: 600px;
	margin: 0 auto 60px;
}

.back {
	background: var(--color-bg-muted, #f5f5f5);
	padding: 80px 0;
}

/* ==========================================================================
   4. Components — Aside (Categories Sidebar)
   ========================================================================== */

.aside {
	margin: 0 0 40px;
}

.aside ul.catelist {
	border-top: solid 1px var(--color-palette-black-pure, #000000);
}

.aside ul.catelist li {
	border-bottom: solid 1px var(--color-palette-black-pure, #000000);
}

.aside ul.catelist li a {
	font-size: 1.6rem;
	font-weight: 700;
	display: block;
	padding: 0.6em 2em 0.6em 0;
	position: relative;
	transition: opacity 0.2s;
}

.aside ul.catelist li a:hover {
	opacity: 0.6;
}

.aside ul.catelist li a::after {
	content: "";
	width: 11px;
	height: 11px;
	position: absolute;
	top: 50%;
	right: 0.3em;
	transform: translateY(-50%);
	/* Replace with your arrow icon */
	/* background: url(../images/icons/arrow01.svg) no-repeat center / 100%; */
	border-right: 2px solid var(--color-border-strong, #111111);
	border-bottom: 2px solid var(--color-border-strong, #111111);
	width: 8px;
	height: 8px;
	transform: translateY(-50%) rotate(-45deg);
}

/* ==========================================================================
   5. Components — Post List
   ========================================================================== */

.list article {
	padding: 0 0 40px;
}

.list article a {
	display: block;
	overflow: hidden;
}

.list article .head {
	width: 100%;
	margin: 0 0 10px;
	font-size: 1.2rem;
	line-height: 1;
	letter-spacing: 0;
}

.list article span.cate {
	display: inline-block;
	border-radius: 2px;
	background: var(--color-palette-gray-700, #333333);
	padding: 0.3em 1em;
	margin: 0 1em 0 0;
	color: var(--color-text-onBrand, #ffffff);
	font-size: 1.2rem;
}

.list article span.date {
	color: var(--color-text-muted, #666666);
	font-size: 1.2rem;
}

.list article .img {
	width: 100%;
	border-radius: 3px;
	overflow: hidden;
	margin: 0 0 10px;
}

.list article .img img {
	border-radius: 3px;
	width: 100%;
	height: auto;
	aspect-ratio: 3 / 2;
	object-fit: cover;
}

.list article .text {
	width: 100%;
}

.list article p.title {
	font-size: 1.8rem;
	font-weight: 700;
	line-height: 1.4;
	margin: 0 0 10px;
}

/* -- "More" link -- */
.list .more {
	text-align: center;
	margin: 20px 0 0;
}

.list .more a {
	display: inline-block;
	font-size: 1.4rem;
	font-weight: 500;
	padding: 0.8em 3em;
	border: 1px solid var(--color-border-strong, #111111);
	border-radius: 4px;
	transition: background 0.2s, color 0.2s;
}

.list .more a:hover {
	background: var(--color-bg-brand, #A0CCD1);
	color: var(--color-text-onBrand, #ffffff);
}

/* ==========================================================================
   6. Components — Breadcrumb
   ========================================================================== */

.breadcrumb {
	padding: 0 0 20px;
	font-size: 1.2rem;
	letter-spacing: 0;
	line-height: 1.4;
}

.breadcrumb ul {
	display: flex;
	flex-wrap: wrap;
	gap: 0;
}

.breadcrumb ul li {
	padding: 0 0 0 2em;
	position: relative;
}

.breadcrumb ul li::before {
	content: ">";
	position: absolute;
	top: 0;
	left: 0.8em;
	color: var(--color-palette-gray-500, #999999);
}

.breadcrumb ul li:first-child::before {
	display: none;
}

.breadcrumb ul li:first-child {
	padding: 0;
}

/* ==========================================================================
   7. Components — Entry (Single Post)
   ========================================================================== */

main.entry .entry-header {
	margin: 0 0 20px;
}

main.entry .entry-title {
	font-size: 2.8rem;
	font-weight: 900;
	line-height: 1.33;
	margin: 0 0 8px;
}

main.entry .entry-meta time {
	font-size: 1.2rem;
	font-weight: 300;
	line-height: 1;
	letter-spacing: 0;
	display: block;
	margin: 0 0 20px;
	color: var(--color-text-muted, #666666);
}

main.entry .entry-thumbnail {
	margin: 0 0 30px;
}

main.entry .entry-thumbnail img {
	border-radius: 6px;
}

/* -- Social Buttons -- */
ul.social_button {
	margin: 20px 0 40px;
	display: flex;
	gap: 1em;
}

ul.social_button li {
	font-size: 1.2rem;
}

ul.social_button li a {
	display: inline-flex;
	align-items: center;
	gap: 0.5em;
	padding: 0.4em 1em;
	border: 1px solid var(--color-palette-gray-300, #dddddd);
	border-radius: 4px;
	transition: background 0.2s;
}

ul.social_button li a:hover {
	background: var(--color-bg-muted, #f5f5f5);
}

/* -- Related Posts -- */
.related {
	margin: 80px 0;
}

.related > span.title {
	font-size: 2rem;
	font-weight: 700;
	display: block;
	margin: 0 0 20px;
}

/* -- Tags -- */
main.entry ul.tags {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0 0 40px;
}

main.entry ul.tags a {
	display: block;
	background: var(--color-palette-gray-200, #ebebeb);
	border-radius: 2px;
	padding: 8px 14px;
	color: var(--color-text-primary, #111111);
	font-weight: 400;
	font-size: 1.2rem;
	transition: background 0.2s;
}

main.entry ul.tags a:hover {
	background: var(--color-palette-gray-300, #dddddd);
}

main.entry ul.tags a::before {
	content: "#";
}

/* ==========================================================================
   8. Entry Content (Post Body)
   ========================================================================== */

.entry-content {
	max-width: 660px;
	margin: 0 auto;
}

/* -- Headings -- */
.entry-content h2 {
	font-family: var(--typography-fontFamily-serif);
	font-size: 2.4rem;
	line-height: 1.3;
	font-weight: var(--typography-fontWeight-bold);
	color: var(--color-text-primary, #ffffff);
	margin: 60px 0 24px;
	border-radius: 8px;
}

.entry-content h3 {
	font-family: var(--typography-fontFamily-serif);
	font-size: 2rem;
	line-height: 1.3;
	font-weight: var(--typography-fontWeight-bold);
	margin: 50px 0 20px;
	padding: 0 0 6px;
	position: relative;
}

.entry-content h3::before {
	content: "";
	width: 100%;
	height: 3px;
	background: var(--color-text-primary, #111111);
	position: absolute;
	bottom: 0;
	left: 0;
}

.entry-content h4 {
	font-size: 1.8rem;
	line-height: 1.3;
	font-weight: 700;
	margin: 40px 0 20px;
	padding: 0 0 0 12px;
	position: relative;
}

.entry-content h4::before {
	content: "";
	width: 2px;
	height: 100%;
	background: var(--color-text-primary, #111111);
	position: absolute;
	top: 0;
	left: 0;
}

/* -- Paragraphs -- */
.entry-content p {
	font-size: 1.6rem;
	line-height: 2;
	margin: 0 0 24px;
}

.entry-content strong {
	font-weight: 700;
}

.entry-content em {
	font-style: italic;
}

/* -- Links -- */
.entry-content a {
	color: var(--color-link-default, #0070c9);
	text-decoration: underline;
	transition: color 0.2s;
}

.entry-content a:hover {
	color: var(--color-link-hover, #005999);
}

/* -- Marker -- */
mark.emphasis {
	background: linear-gradient(transparent 0%, var(--color-palette-divider, #d9d9d9) 0%);
	padding: 0.05em 0.2em;
	color: var(--color-text-primary, #000000);
	font-weight: var(--typography-fontWeight-medium, 500);
}

.entry-content mark:not(.emphasis) {
	background: linear-gradient(transparent 60%, var(--color-highlight-marker, #BAFFED) 60%);
	padding: 0.05em 0.2em;
}

/* -- Images -- */
.entry-content figure.wp-block-image {
	margin: 0 0 30px;
}

.entry-content figure.wp-block-image figcaption {
	font-size: 1.2rem;
	padding: 0.5em;
	background: var(--color-palette-gray-50, #fafafa);
	margin: 0;
	color: var(--color-text-muted, #666666);
}

/* -- Lists -- */
.entry-content ol,
.entry-content ul {
	list-style: none;
	margin: 0 0 30px;
}

.entry-content ol ol,
.entry-content ul ul {
	margin: 12px 0;
}

.entry-content li {
	font-size: 1.4rem;
	line-height: 1.6;
	position: relative;
	padding: 0 0 0 1.4em;
	margin: 0 0 12px;
}

.entry-content ul > li::before {
	content: "";
	width: 4px;
	height: 4px;
	border-radius: 50%;
	background: var(--color-palette-gray-400, #cccccc);
	position: absolute;
	left: 0;
	top: 0.72em;
}

.entry-content ol {
	counter-reset: ol-counter;
}

.entry-content ol > li::before {
	text-align: center;
	font-weight: 600;
	line-height: 1;
	letter-spacing: 0;
	font-size: 1rem;
	color: var(--color-text-onBrand, #ffffff);
	background: var(--color-text-primary, #111111);
	border-radius: 50%;
	position: absolute;
	top: 0.35em;
	left: 0;
	width: 1.4em;
	height: 1.4em;
	display: flex;
	align-items: center;
	justify-content: center;
	counter-increment: ol-counter;
	content: counter(ol-counter);
}

/* -- iframe -- */
.entry-content iframe {
	max-width: 100%;
	margin: 0 0 30px;
}

/* -- Table -- */
.entry-content figure.wp-block-table {
	margin: 0 0 30px;
}

.entry-content table {
	border: none;
	width: 100%;
	line-height: 1.4;
	font-size: 1.4rem;
	border-collapse: collapse;
	vertical-align: middle;
}

.entry-content table td,
.entry-content table th {
	border: solid 4px var(--color-palette-white, #ffffff);
	padding: 16px;
	background: var(--color-palette-table-cell, #F7F7F7);
	font-weight: 500;
}

.entry-content figure.wp-block-table table {
	margin: 0;
}

.entry-content figure.wp-block-table table tr td:nth-of-type(1),
.entry-content figure.wp-block-table table th {
	background: var(--color-palette-table-header, #F0F0E9);
	font-weight: 700;
}

.entry-content figure.wp-block-table table thead + tbody tr td:nth-of-type(1) {
	background: var(--color-palette-table-cell, #F7F7F7);
	font-weight: 500;
}

/* -- Link Button -- */
.entry-content .linkBtn {
	margin: 0 0 30px;
}

.entry-content .linkBtn a {
	display: block;
	position: relative;
	background: var(--color-text-primary, #111111);
	border-radius: 6px;
	font-size: 1.4rem;
	line-height: 1;
	padding: 16px 50px 16px 20px;
	color: var(--color-text-onBrand, #ffffff);
	text-decoration: none;
	font-weight: 700;
	transition: opacity 0.2s;
}

.entry-content .linkBtn a:hover {
	opacity: 0.8;
}

.entry-content .linkBtn a::after {
	content: "→";
	position: absolute;
	right: 20px;
	top: 50%;
	transform: translateY(-50%);
}

/* ==========================================================================
   9. Components — Search
   ========================================================================== */

.search-form {
	display: flex;
	gap: 8px;
	max-width: 480px;
}

.search-form label {
	flex: 1;
}

.search-form .search-field {
	width: 100%;
	padding: 10px 16px;
	font-size: 1.4rem;
	border: 1px solid var(--color-palette-gray-300, #dddddd);
	border-radius: 4px;
	outline: none;
	transition: border-color 0.2s;
}

.search-form .search-field:focus {
	border-color: var(--color-border-focus, #A0CCD1);
}

.search-form .search-submit {
	padding: 10px 20px;
	font-size: 1.4rem;
	font-weight: 600;
	background: var(--color-bg-brand, #A0CCD1);
	color: var(--color-text-onBrand, #ffffff);
	border: none;
	border-radius: 4px;
	cursor: pointer;
	transition: opacity 0.2s;
}

.search-form .search-submit:hover {
	opacity: 0.8;
}

.search-form-container {
	padding: 40px 20px;
	text-align: center;
}

.search-form-container .search-form {
	margin: 0 auto;
}

/* ==========================================================================
   10. Components — Pagination
   ========================================================================== */

.pagination,
.nav-links {
	display: flex;
	justify-content: center;
	gap: 4px;
	margin: 40px 0;
	font-size: 1.4rem;
}

.pagination .page-numbers,
.nav-links .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 36px;
	height: 36px;
	padding: 0 8px;
	border: 1px solid var(--color-palette-gray-300, #dddddd);
	border-radius: 4px;
	transition: background 0.2s, color 0.2s;
}

.pagination .page-numbers.current,
.nav-links .page-numbers.current {
	background: var(--color-bg-brand, #A0CCD1);
	color: var(--color-text-onBrand, #ffffff);
	border-color: var(--color-bg-brand, #A0CCD1);
}

.pagination .page-numbers:hover:not(.current),
.nav-links .page-numbers:hover:not(.current) {
	background: var(--color-bg-muted, #f5f5f5);
}

/* ==========================================================================
   11. Components — 404 / Not Found
   ========================================================================== */

.notfound {
	text-align: center;
	padding: 80px 20px;
}

.notfound .page-title {
	font-size: 3rem;
	font-weight: 900;
	margin: 0 0 20px;
}

.notfound .page-content p {
	font-size: 1.6rem;
	line-height: 1.8;
	color: var(--color-text-muted, #666666);
}

/* ==========================================================================
   12. Utilities
   ========================================================================== */

.screen-reader-text {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	width: 1px;
	word-wrap: normal !important;
}

/* ==========================================================================
   13. Responsive
   ========================================================================== */

@media (min-width: 768px) {
	.sp {
		display: none;
	}
	.pc {
		display: block;
	}
	.wrap {
		--wrap-gutter: var(--space-10, 40px);
	}

	.wrap:has(.aside) {
		display: flex;
		flex-wrap: wrap;
	}

	.wrap:has(.aside) .aside {
		width: 260px;
		flex-shrink: 0;
		margin: 0 40px 0 0;
	}

	.wrap:has(.aside) section.list,
	.wrap:has(.aside) main.entry section,
	main.entry .wrap:has(.aside) section {
		flex: 1;
		min-width: 0;
	}

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

	.section-tabs__list {
		flex-wrap: nowrap;
		overflow-x: auto;
	}

	section.lead {
		margin: 0 auto 120px;
	}

	.back {
		padding: 120px 0;
	}

	.list article .img {
		width: 240px;
		float: left;
		margin: 0 20px 0 0;
	}

	.list article .text {
		overflow: hidden;
	}

	main.entry .entry-title {
		font-size: 3.2rem;
	}

	ul.social_button {
		justify-content: flex-end;
	}
}

@media (min-width: 1024px) {
	.card-grid {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}

	.site-footer__inner {
		grid-template-columns: minmax(600px, 6fr) minmax(170px, 1.7fr) minmax(170px, 1.7fr) minmax(100px, 1fr);
		align-items: start;
	}

	.site-header__inner {
		flex-wrap: nowrap;
	}

	.site-header__tools {
		gap: var(--space-6, 24px);
	}

	.site-header__nav {
		display: block;
		min-width: 0;
	}

	.site-header__menu {
		flex-direction: row;
		flex-wrap: wrap;
		justify-content: flex-end;
		gap: 0 var(--space-6, 24px);
	}

	.site-header__menu a {
		padding: 0;
		white-space: nowrap;
	}

	.site-header__cta-group {
		display: flex;
	}
}
@media (max-width: 767px) {
	.sp {
		display: block;
	}
	.pc {
		display: none;
	}
	.btn {
		width: 100%;
	}
	.quality-card__button.btn ,
	.btn.cta-panel__button {
		width: auto;min-width: 175px;
	}
	.site-header__inner {
		padding: 0 var(--space-3, 12px);position: relative;z-index: 111;
	}
	.site-header__lead {
		display: block;
	}
	.site-header__brand {
		flex: 6;justify-content: end;
		padding: 0 0 0 40px;
	}
	.site-header__tools {
		width: 50px;
	}

	.site-header__menu-trigger {
		width: 50px;
		height: 50px;
		background: rgba(255, 255, 255, 0.4);
	}
	.site-header--overlay.is-drawer-open .site-header__menu-trigger {
		background: rgba(0, 0, 0, 0.4);
	}

	.site-header__menu-trigger-bar {
		display: block;
		width: 18px;
		height: 2px;
		background: var(--color-text-primary, #000);
		transition: transform 0.2s, opacity 0.2s;
	}

	.site-header__drawer {
		top: 0;
		right: 0;
		width: 100%;height: 100vh;
		border-radius: 0;
		background: rgba(255, 255, 255, 0.92);
	}

	.site-header__drawer-inner {
		padding: 85px var(--space-5, 20px) 0;
	}

	.site-header__drawer-grid {
		grid-template-columns: 1fr 1.2fr;
		gap: var(--space-6, 24px) 0;
	}

	.site-header__drawer-nav {
		margin-top: 0;
		order: 2;
	}

	.site-header__drawer-menu--nested {
		margin-top: var(--space-4, 16px);
	}

	.site-header__drawer-menu-link {
		color: var(--color-text-primary, #000);
	}

	.site-header__drawer-aside {
		order: 1;
	}

	.site-header__drawer-cta-list,
	.site-header__drawer-social-list {
		flex-direction: row;
		gap: 1px;
		flex-wrap: wrap;
	}
	.site-header__drawer-social-list {
		display: none;
	}
	.site-header__drawer-cta-item {width: calc(50% - 1px);}

	/* クイックナビ */
	.front-quick-nav {
		display: block;
		position: fixed;
		right: 0;
		bottom: 0;
		left: 0;
		z-index: 202;
		box-shadow: 0px -5px 14px -10px var(--color-palette-gray-500);
	}

	.front-quick-nav__list {
		display: grid;
		grid-template-columns: repeat(var(--quick-nav-cols, 5), minmax(0, 1fr));
		margin: 0;
		padding: 0;
		list-style: none;
	}

	.front-quick-nav__item {
		position: relative;
		display: flex;
		align-items: stretch;
		justify-content: center;
		min-height: 70px;
		background: var(--color-bg-default, #fefefe);
	}

	.front-quick-nav__item + .front-quick-nav__item::before {
		content: "";
		position: absolute;
		top: 0;
		bottom: 0;
		left: 0;
		width: 1px;
		background: linear-gradient(
			0deg,
			rgba(199, 199, 199, 0.14) 10%,
			#c7c7c7 100%
		);
	}

	.front-quick-nav__link {
		display: flex;
		flex: 1;
		flex-direction: column;
		align-items: center;
		justify-content: flex-end;
		gap: var(--space-2, 8px);
		padding: var(--space-3, 12px) var(--space-1, 4px) var(--space-4, 16px);
		font-size: var(--typography-fontSize-quickNav, 11px);
		line-height: 1;
		color: var(--color-text-default, #000000);
		text-align: center;
	}

	.front-quick-nav__icon {
		display: inline-flex;
		flex-shrink: 0;
		align-items: center;
		justify-content: center;
		line-height: 0;
	}

	.front-quick-nav__icon img {
		display: block;
		width: 100%;
		height: 100%;
		max-width: none;
		object-fit: contain;
	}

	.front-quick-nav__label {
		display: block;
	}

	.front-quick-nav__link:hover,
	.front-quick-nav__link:focus-visible {
		opacity: 0.7;
	}

	.site-footer__nav {
		display: none;
	}
	.site-footer {
		padding: var(--space-10, 40px) 0 var(--space-20, 80px);
	}

	.section-tabs__list {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		min-height: var(--size-tabNav-height, 50px);
		padding: 0 var(--space-4, 16px);
		border-radius: var(--radius-button, 25px);
	}

	.section-tabs__item {
		display: flex;width: 50%;
		position: relative;
		flex: auto;
		align-items: center;
		justify-content: center;
		min-width: 0;
	}

	.section-tabs__item:not(:last-child)::after ,
	.section-tabs__item:last-child::after {
		display: none;
	}

	.section-tabs__item:nth-of-type(odd)::after {
		content: "";display: inline;
		position: absolute;
		top: 50%;
		right: 0;
		width: 1px;
		height: 26px;
		background: var(--color-palette-divider, #d9d9d9);
		transform: translateY(-50%);
	}
	.section-tabs__item:last-child::after {
		display: none;
	}

	.section-tabs__link {
		position: relative;
		display: inline-block;
		padding: var(--space-4, 16px) 0 var(--space-2, 8px);
		font-size: var(--typography-fontSize-tab, 16px);
		font-weight: var(--typography-fontWeight-regular, 400);
		line-height: 1;
		color: var(--color-text-primary, #000000);
		text-decoration: none;
		white-space: nowrap;
	}

	.section-tabs__link::after {
		content: "";
		position: absolute;
		right: 0;
		bottom: -3px;
		left: 0;
		height: 2px;
		background: transparent;
		transition: background-color 0.15s ease;
	}

	.section-tabs__link:hover::after,
	.section-tabs__link:focus-visible::after,
	.section-tabs__item.is-active .section-tabs__link::after {
		background: var(--section-tabs-indicator);
	}

	.section-tabs__link:focus-visible {
		outline: 2px solid var(--color-border-focus, #000000);
		outline-offset: 2px;
		border-radius: var(--radius-sm, 4px);
	}
		/* CTA panel */
	.front-cta-panel {
		padding: var(--space-16, 64px) 0 0;
	}

	.front-cta-panel .wrap {
		padding-inline: 0;
	}

	.front-cta-panel__grid {
		gap: 1px;
	}

	.cta-panel,
	.cta-panel__link {
		min-height: 300px;
	}
}
