/* page-full-2 専用スタイル */

/* FV Section */
.fv2-main {
	position: relative;
	width: 100%;
	overflow: hidden;
	background: #fff;
}
.fv2-main .fv2-sizer {
	width: 100%;
	display: block;
	visibility: hidden;
}

/* Rotated background grid */
.fv2-bg-grid {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%) rotate(4deg);
	display: flex;
	flex-direction: column;
	gap: 10px;
	align-items: center;
	opacity: 0.66;
	z-index: 1;
}
.fv2-slide-row[data-direction="left"] {
	display: flex;
	gap: 2px;
}
.fv2-slide-row[data-direction="right"] {
	display: flex;
	gap: 10px;
	will-change: transform;
}
.fv2-slide-row img {
	height: min(25.87vw, 194px);
	width: auto !important;
	max-width: none !important;
	display: block;
	flex-shrink: 0;
}

/* Top bar logo (full width, scale up to hide image padding/shadow) */
.fv2-main .fv2-logo {
	position: absolute;
	top: calc(-2% - 2px);
	left: -3.2%;
	width: 106.4% !important;
	z-index: 3;
}

/* CTA button (on top of logo bar) */
.fv2-main .fv2-cta-link {
	position: absolute;
	top: min(1.87vw, 14px);
	right: min(2.13vw, 16px);
	width: 54.6%;
	z-index: 4;
	display: block;
}
.fv2-main .fv2-cta-link img {
	width: 100% !important;
	display: block;
}

/* Hero text */
.fv2-hero {
	position: absolute;
	left: 3.2%;
	top: calc(50% - 3.9%);
	transform: translateY(-50%);
	width: 93.6%;
	z-index: 3;
}

/* Mid FV (no top bar, clipped top) */
.fv2-main.fv2-mid {
	padding-top: 0;
}
.fv2-main.fv2-mid .fv2-sizer {
	margin-top: -22%;
}
.fv2-main.fv2-mid .fv2-hero {
	top: calc(50% - 12%);
}

/* Bottom section */
.fv2-bottom {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	z-index: 3;
	background: #fff;
}

/* Footer: 他ページ(750px固定viewport)と見た目のサイズを揃える */
footer {
	padding: min(4vw, 30px) 0;
}
footer p {
	font-size: min(3.2vw, 24px);
}
