@charset "utf-8";

/*------------------------------------------------------------------------------
  2026 first view
  PC design: 1920 x 620 (header excluded)
------------------------------------------------------------------------------*/

main.fv2026 {
	--fv-font-ja: "Noto Sans JP", sans-serif;
	--fv-font-en: "Manrope", sans-serif;
	--fv-ink: #050505;
	--fv-red: #ff1739;
	--fv-gold-dark: #ae6900;
	--fv-gold-mid: #c88400;
	--fv-gold-light: #efbd49;
	--fv-award-border: #c48700;

	container-type: inline-size;
	position: relative;
	isolation: isolate;
	width: 100vw;
	height: auto;
	min-height: 0;
	aspect-ratio: 1920 / 620;
	overflow: hidden;
	background: #fff;
	background-image: none;
	color: var(--fv-ink);
	font-family: var(--fv-font-ja);
	font-style: normal;
	text-rendering: optimizeLegibility;
	-webkit-font-smoothing: antialiased;
}

.fv2026 *,
.fv2026 *::before,
.fv2026 *::after {
	box-sizing: border-box;
}

.fv2026__background,
.fv2026__accent {
	position: absolute;
	inset: 0;
}

.fv2026__background {
	z-index: -2;
	pointer-events: none;
}

.fv2026__accent {
	display: block;
}

.fv2026__accent--green {
	right: auto;
	bottom: auto;
	width: 15.0521cqw;
	height: 45.8065%;
	background: linear-gradient(135deg, #b4f46c 0%, #7cd26a 46%, #42ad6f 100%);
	clip-path: polygon(0 0, 100% 0, 0 100%);
}

.fv2026__accent--gray {
	top: auto;
	right: auto;
	width: 46.4583cqw;
	height: 58.5484%;
	background: #f5f5f5;
	clip-path: polygon(0 0, 100% 100%, 0 100%);
}

.fv2026__accent--blue {
	top: auto;
	left: auto;
	width: 15.0521cqw;
	height: 46.6129%;
	background: linear-gradient(135deg, #59a5dd 0%, #297cbf 100%);
	clip-path: polygon(100% 0, 100% 100%, 0 100%);
}

.fv2026__visual {
	position: absolute;
	z-index: -1;
	top: 0;
	left: 9.7396cqw;
	width: 32.2917cqw;
	aspect-ratio: 2242 / 2227;
	line-height: 0;
}

.fv2026-scene,
.fv2026-object,
.fv2026-layer {
	position: absolute;
	inset: 0;
	display: block;
	width: 100%;
	max-width: none;
	height: 100%;
}

.fv2026-scene,
.fv2026-object {
	overflow: visible;
}

.fv2026-layer {
	pointer-events: none;
	user-select: none;
	-webkit-user-drag: none;
}

.fv2026-layer--shadow {
	z-index: 0;
}

.fv2026-layer--bg {
	z-index: 1;
}

.fv2026-object--digital-twin {
	z-index: 1;
}

.fv2026-layer--digital-twin-base {
	opacity: 0.78;
	filter: brightness(1.14) drop-shadow(0 0 0.18cqw rgba(35, 212, 246, 0.54));
}

.fv2026-layer--digital-twin-flow {
	filter: brightness(1.18) drop-shadow(0 0 0.22cqw rgba(35, 212, 246, 0.62));
}

.fv2026-layer--earth {
	z-index: 3;
}

.fv2026-layer--orbit {
	z-index: 14;
}

.fv2026-object--townmount {
	z-index: 2;
}

.fv2026-layer--cloud,
.fv2026-layer--sun {
	z-index: 6;
}

.fv2026-layer--cloud1 {
	transform: translate3d(-1.2cqw, 1.3cqw, 0) scale(0.84);
	transform-origin: 56% 43.2%;
}

.fv2026-layer--cloud2-left {
	clip-path: polygon(0 0, 50% 0, 50% 100%, 0 100%);
	transform: translate3d(0.8cqw, 0.9cqw, 0);
}

.fv2026-layer--cloud2-right {
	clip-path: polygon(50% 0, 100% 0, 100% 100%, 50% 100%);
	transform: translate3d(-1.2cqw, 1.1cqw, 0);
}

.fv2026-object--wind,
.fv2026-object--house {
	z-index: 7;
}

.fv2026-object--wind {
	transform: translateY(-0.55%);
}

.fv2026-object--house {
	transform: translate3d(-24%, 0, 0);
}

.fv2026-layer--wind-wing {
	transform-origin: 28.0107% 42.5236%;
	animation: fv2026-spin 8s linear infinite;
}

.fv2026-layer--tree1,
.fv2026-layer--tree2 {
	z-index: 8;
	animation: none;
}

.fv2026-object--ship,
.fv2026-object--ship2,
.fv2026-object--car1,
.fv2026-object--car2,
.fv2026-object--human1,
.fv2026-object--human4,
.fv2026-object--human5 {
	z-index: 9;
}

.fv2026-object--ship {
	z-index: 3;
	transform-origin: 63.7% 69.8%;
	animation: fv2026-ship-drive 46s linear -6.4s infinite;
}

.fv2026-object--ship2 {
	transform-origin: 29.8% 63.8%;
	animation: fv2026-ship-drive-2 39s linear -20.8s infinite;
}

.fv2026-object--car1 {
	animation: fv2026-car-drive-1 8.4s cubic-bezier(0.45, 0, 0.3, 1) -1.3s infinite alternate;
}

.fv2026-object--car2 {
	animation: fv2026-car-drive-2 12.8s cubic-bezier(0.35, 0, 0.45, 1) -5.2s infinite alternate-reverse;
}

.fv2026-object--human1 {
	animation: fv2026-human-walk-1 15.8s ease-in-out -3.4s infinite alternate;
}

.fv2026-object--human4 {
	animation: fv2026-human-walk-4 17.3s ease-in-out -1.7s infinite alternate-reverse;
}

.fv2026-object--human5 {
	animation: fv2026-human-walk-5 20.4s ease-in-out -12.8s infinite alternate;
}

.fv2026-object--air {
	z-index: 10;
	animation: fv2026-air-flight 10.8s cubic-bezier(0.38, 0, 0.22, 1) -2.1s infinite;
}

.fv2026-object--ai {
	z-index: 11;
	transform: translate3d(-19%, -2%, 0);
}

.fv2026-layer--ai-base,
.fv2026-layer--ai-glow {
	transform: scale(0.78);
	transform-origin: 49.7% 17.3%;
}

.fv2026-layer--ai-base {
	opacity: 0.78;
	filter: drop-shadow(0 0 0.12cqw rgba(31, 202, 242, 0.34));
}

.fv2026-layer--ai-glow {
	opacity: 0;
	filter: brightness(1.22) saturate(1.14) drop-shadow(0 0 0.24cqw rgba(31, 216, 249, 0.62));
	animation: fv2026-ai-glow 8.8s ease-in-out infinite;
}

.fv2026-object--sate-track {
	z-index: 15;
	animation: fv2026-sate-travel 16s ease-in-out infinite alternate;
}

.fv2026-object--sate-bank {
	transform-origin: 17% 39%;
	animation: fv2026-sate-bank 16s linear infinite alternate;
}

.fv2026-object--drone-path {
	z-index: 16;
	animation: fv2026-drone-path 42s linear infinite;
}

.fv2026-object--drone-bank {
	transform-origin: 83% 27.5%;
	animation: fv2026-drone-bank 42s ease-in-out infinite;
}

.fv2026-layer--drone-wing {
	animation: fv2026-propeller-swing 0.86s ease-in-out infinite alternate;
}

.fv2026-layer--d1w1 {
	transform-origin: 74.6207% 26.3058%;
}

.fv2026-layer--d1w2 {
	transform-origin: 77.1227% 24.0276%;
	animation-delay: -0.11s;
}

.fv2026-layer--d1w3 {
	transform-origin: 89.5194% 27.3065%;
	animation-delay: -0.22s;
}

.fv2026-layer--d1w4 {
	transform-origin: 89.8234% 30.3864%;
	animation-delay: -0.33s;
}

.fv2026-sensor {
	--sensor-size: 7%;
	--sensor-stroke: max(1px, 0.0781cqw);
	--sensor-duration: 4.8s;
	--sensor-delay: 0s;
	position: absolute;
	z-index: 20;
	top: var(--sensor-y);
	left: var(--sensor-x);
	display: block;
	width: var(--sensor-size);
	aspect-ratio: 1;
	transform: translate(-50%, -50%);
	pointer-events: none;
}

.fv2026-sensor::before,
.fv2026-sensor::after {
	position: absolute;
	inset: 0;
	content: "";
	border-radius: 50%;
	background: conic-gradient(from 18deg, rgba(255, 255, 255, 0.98) 0deg 78deg, transparent 78deg 112deg, rgba(255, 255, 255, 0.98) 112deg 246deg, transparent 246deg 286deg, rgba(255, 255, 255, 0.98) 286deg 344deg, transparent 344deg 360deg);
	-webkit-mask: radial-gradient(farthest-side, transparent calc(100% - var(--sensor-stroke)), #000 calc(100% - var(--sensor-stroke) + 0.5px));
	mask: radial-gradient(farthest-side, transparent calc(100% - var(--sensor-stroke)), #000 calc(100% - var(--sensor-stroke) + 0.5px));
	filter: drop-shadow(0 0 0.12cqw rgba(255, 255, 255, 0.85));
	opacity: 0;
	animation: fv2026-sensor-pulse var(--sensor-duration) ease-out var(--sensor-delay) infinite;
}

.fv2026-sensor::after {
	inset: 15%;
	background: conic-gradient(from 205deg, rgba(255, 255, 255, 0.9) 0deg 118deg, transparent 118deg 154deg, rgba(255, 255, 255, 0.9) 154deg 314deg, transparent 314deg 360deg);
	animation-delay: calc(var(--sensor-delay) + 0.45s);
}

.fv2026-sensor--single::after {
	display: none;
}

.fv2026-sensor--bold {
	--sensor-stroke: max(1.4px, 0.1042cqw);
}

.fv2026-sensor--wind { --sensor-x: 28.01%; --sensor-y: 42.52%; --sensor-size: 7.4%; --sensor-duration: 7.2s; --sensor-delay: 0s; }
.fv2026-sensor--ship { --sensor-x: 63.7%; --sensor-y: 69.8%; --sensor-size: 5.2%; --sensor-duration: 8.6s; --sensor-delay: -1.3s; }
.fv2026-sensor--car1 { --sensor-x: 40.4%; --sensor-y: 52.2%; --sensor-size: 6.5%; --sensor-duration: 6.9s; --sensor-delay: -2.5s; }
.fv2026-sensor--car2 { --sensor-x: 72.2%; --sensor-y: 50%; --sensor-size: 10.2%; --sensor-duration: 7.8s; --sensor-delay: -3.8s; }
.fv2026-sensor--human1 { --sensor-x: 48.2%; --sensor-y: 52.2%; --sensor-size: 4.2%; --sensor-duration: 7.4s; --sensor-delay: -5.2s; }
.fv2026-sensor--human5 { --sensor-x: 60.9%; --sensor-y: 52.4%; --sensor-size: 4.3%; --sensor-duration: 9s; --sensor-delay: -7.6s; }
.fv2026-sensor--air { --sensor-x: 38%; --sensor-y: 34.2%; --sensor-size: 6.4%; --sensor-duration: 7.6s; --sensor-delay: -8.8s; }

@keyframes fv2026-spin {
	to { transform: rotate(1turn); }
}

@keyframes fv2026-ai-glow {
	0%, 18%, 100% { opacity: 0.05; }
	42%, 58% { opacity: 0.48; }
	76% { opacity: 0.18; }
}

@keyframes fv2026-sensor-pulse {
	0%, 8% { opacity: 0; transform: scale(0.74) rotate(-8deg); }
	14% { opacity: 0.96; }
	24% { opacity: 0.58; }
	32%, 100% { opacity: 0; transform: scale(1.24) rotate(8deg); }
}

@keyframes fv2026-cloud-drift-1 {
	0% { transform: translate3d(-0.65cqw, 0.32cqw, 0); }
	36% { transform: translate3d(0.42cqw, -0.48cqw, 0); }
	68% { transform: translate3d(0.88cqw, 0.16cqw, 0); }
	100% { transform: translate3d(-0.18cqw, -0.36cqw, 0); }
}

@keyframes fv2026-cloud-drift-2-left {
	0% { transform: translate3d(0.4cqw, -2.8cqw, 0); }
	34% { transform: translate3d(-0.68cqw, -2.16cqw, 0); }
	71% { transform: translate3d(0.1cqw, -1.82cqw, 0); }
	100% { transform: translate3d(-0.38cqw, -2.68cqw, 0); }
}

@keyframes fv2026-cloud-drift-2 {
	0% { transform: translate3d(0.54cqw, -0.3cqw, 0); }
	31% { transform: translate3d(-0.72cqw, 0.44cqw, 0); }
	73% { transform: translate3d(0.18cqw, 0.68cqw, 0); }
	100% { transform: translate3d(-0.44cqw, -0.18cqw, 0); }
}

@keyframes fv2026-car-drive-1 {
	from { transform: translateX(-3.2%); }
	to { transform: translateX(5.2%); }
}

@keyframes fv2026-car-drive-2 {
	from { transform: translateX(-8.2%); }
	to { transform: translateX(7.2%); }
}

@keyframes fv2026-ship-drive {
	0% { transform: translate3d(-16%, -13%, 0) rotate(62deg) scale(0.82); }
	12% { transform: translate3d(-8%, -11%, 0) rotate(70deg) scale(0.82); }
	24% { transform: translate3d(2%, -7%, 0) rotate(82deg) scale(0.82); }
	36% { transform: translate3d(5%, -3%, 0) rotate(130deg) scale(0.82); }
	46% { transform: translate3d(-2%, 3%, 0) rotate(187deg) scale(0.82); }
	50% { transform: translate3d(-8%, 10%, 0) rotate(179deg) scale(0.82); }
	54% { transform: translate3d(-8%, 10%, 0) rotate(359deg) scale(0.82); }
	64% { transform: translate3d(-2%, 3%, 0) rotate(367deg) scale(0.82); }
	76% { transform: translate3d(5%, -3%, 0) rotate(281deg) scale(0.82); }
	88% { transform: translate3d(2%, -7%, 0) rotate(250deg) scale(0.82); }
	94% { transform: translate3d(-8%, -11%, 0) rotate(242deg) scale(0.82); }
	97% { transform: translate3d(-16%, -13%, 0) rotate(242deg) scale(0.82); }
	100% { transform: translate3d(-16%, -13%, 0) rotate(422deg) scale(0.82); }
}

@keyframes fv2026-ship-drive-2 {
	0% { transform: translate3d(0, 0, 0) rotate(0deg) scale(0.8); }
	15% { transform: translate3d(2.8%, 3.2%, 0) rotate(28deg) scale(0.8); }
	30% { transform: translate3d(2.4%, 8.2%, 0) rotate(60deg) scale(0.8); }
	45% { transform: translate3d(5.3%, 11.7%, 0) rotate(38deg) scale(0.8); }
	50% { transform: translate3d(7.2%, 13.5%, 0) rotate(20deg) scale(0.8); }
	55% { transform: translate3d(7.2%, 13.5%, 0) rotate(200deg) scale(0.8); }
	70% { transform: translate3d(5.3%, 11.7%, 0) rotate(218deg) scale(0.8); }
	82% { transform: translate3d(2.4%, 8.2%, 0) rotate(240deg) scale(0.8); }
	93% { transform: translate3d(2.8%, 3.2%, 0) rotate(208deg) scale(0.8); }
	97% { transform: translate3d(0, 0, 0) rotate(180deg) scale(0.8); }
	100% { transform: translate3d(0, 0, 0) rotate(360deg) scale(0.8); }
}

@keyframes fv2026-human-walk-1 { from { transform: translateX(-2.2%); } to { transform: translateX(2.8%); } }
@keyframes fv2026-human-walk-4 { from { transform: translateX(-1.9%); } to { transform: translateX(3.1%); } }
@keyframes fv2026-human-walk-5 { from { transform: translateX(-34.5%); } to { transform: translateX(-30.5%); } }

@keyframes fv2026-air-flight {
	0%, 12% { z-index: 1; opacity: 0; transform: translate3d(18%, 18%, 0); }
	20% { z-index: 1; opacity: 1; transform: translate3d(18%, 18%, 0); }
	40% { z-index: 1; opacity: 1; transform: translate3d(4%, 4%, 0); }
	40.1% { z-index: 10; opacity: 1; transform: translate3d(4%, 4%, 0); }
	64% { z-index: 10; opacity: 1; transform: translate3d(-13%, -13%, 0); }
	74%, 100% { z-index: 10; opacity: 0; transform: translate3d(-13%, -13%, 0); }
}

@keyframes fv2026-sate-travel {
	0% { transform: translate3d(-4%, -3%, 0); }
	18% { transform: translate3d(8%, 4%, 0); }
	38% { transform: translate3d(23%, 13%, 0); }
	60% { transform: translate3d(39%, 23%, 0); }
	82% { transform: translate3d(53%, 33%, 0); }
	100% { transform: translate3d(63%, 39%, 0); }
}

@keyframes fv2026-sate-bank {
	0%, 12% { transform: rotate(8deg); }
	28% { transform: rotate(-5deg); }
	46% { transform: rotate(13deg); }
	63% { transform: rotate(-9deg); }
	78% { transform: rotate(18deg); }
	91%, 100% { transform: rotate(-6deg); }
}

@keyframes fv2026-drone-path {
	0%, 100% { transform: translate3d(-4%, -8%, 0) scale(0.95); }
	12% { transform: translate3d(-9%, -12%, 0) scale(0.95); }
	24% { transform: translate3d(-18%, -15%, 0) scale(0.94); }
	36% { transform: translate3d(-28%, -14%, 0) scale(0.95); }
	48% { transform: translate3d(-24%, -9%, 0) scale(0.94); }
	60% { transform: translate3d(-14%, -6%, 0) scale(0.95); }
	72% { transform: translate3d(-6%, -10%, 0) scale(0.94); }
	84% { transform: translate3d(-2%, -15%, 0) scale(0.95); }
	94% { transform: translate3d(-8%, -11%, 0) scale(0.94); }
}

@keyframes fv2026-drone-bank {
	0%, 100% { transform: rotate(4deg); }
	14% { transform: rotate(-2deg); }
	28% { transform: rotate(-5deg); }
	42% { transform: rotate(2deg); }
	56% { transform: rotate(6deg); }
	70% { transform: rotate(3deg); }
	84% { transform: rotate(-4deg); }
}

@keyframes fv2026-propeller-swing {
	from { transform: translateX(-0.03cqw) rotate(-4deg); }
	to { transform: translateX(0.03cqw) rotate(4deg); }
}

.fv2026__content {
	position: absolute;
	top: 14.8387%;
	left: 41.4063cqw;
	width: 43.5417cqw;
}

.fv2026__title {
	margin: 0;
	padding: 0;
	color: var(--fv-ink);
	font-family: var(--fv-font-ja);
	font-size: 2.7083cqw;
	font-weight: 900;
	letter-spacing: 0;
	line-height: 1.28;
	white-space: nowrap;
}

.fv2026__title-line {
	display: block;
	text-align: left;
}

.fv2026__title-line--first {
	margin-bottom: 1.4583cqw;
	padding-left: 4.4271cqw;
}

.fv2026__highlight {
	color: var(--fv-red);
}

.fv2026-award {
	position: relative;
	width: 30.5cqw;
	margin-top: 0.35cqw;
	background: transparent;
}

.fv2026-award__status-badge {
	position: absolute;
	z-index: 4;
	top: -1.93cqw;
	left: -1.9cqw;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	width: 5.52cqw;
	height: 5.52cqw;
	margin: 0;
	border-radius: 50%;
	background: var(--fv-red);
	color: #fff;
	font-size: 1.04cqw;
	font-weight: 800;
	letter-spacing: 0.01em;
	line-height: 1.22;
	text-align: center;
}

.fv2026-award__status-badge span,
.fv2026-award__status-badge strong {
	display: block;
	font: inherit;
}

.fv2026-award__intro {
	position: relative;
	display: flex;
	min-height: 6.35cqw;
	padding: 0.52cqw 1.04cqw 0.42cqw;
	overflow: hidden;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	text-align: center;
	background: rgba(255, 255, 255, 0.8);
	border: 0;
	border-bottom: max(1px, 0.1042cqw) solid #b5e2fe;
}

.fv2026-award__year {
	margin: 0;
	color: var(--fv-ink);
	font-size: 0.7cqw;
	font-weight: 800;
	letter-spacing: 0;
	line-height: 1.2;
}

.fv2026-award__year [lang="en"] {
	font-family: var(--fv-font-en);
	font-size: 1.0cqw;
	font-weight: 800;
}

.fv2026-award__title {
	margin: 0.22cqw 0 0;
	color: var(--fv-ink);
	font-family: var(--fv-font-ja);
	font-size: 1.34cqw;
	font-weight: 800;
	letter-spacing: 0.04em;
	line-height: 1.42;
}

.fv2026-award__title span,
.fv2026-award__title strong {
	display: block;
}

.fv2026-award__title strong {
	color: var(--fv-red);
	font-size: 1.55cqw;
	font-weight: 900;
	letter-spacing: 0.08em;
}

.fv2026-award__details {
	display: grid;
	min-height: 6.4cqw;
	grid-template-columns: 52% 48%;
	background: rgba(255, 255, 255, 0.8);
}

.fv2026-award__information {
	min-width: 0;
	padding: 0.65cqw 0.72cqw 0.5cqw;
}

.fv2026-award__information + .fv2026-award__information {
	border-left: 0;
}

.fv2026-award__information-heading {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0.45cqw;
	white-space: nowrap;
}

.fv2026-award__information-heading h4 {
	margin: 0;
	color: #003bb5;
	font-size: 1.02cqw;
	font-weight: 900;
	letter-spacing: 0.01em;
	line-height: 1.25;
}

.fv2026-award__information-heading a {
	display: inline-flex;
	min-height: 1.15cqw;
	align-items: center;
	gap: 0.12cqw;
	color: #111;
	font-size: 0.68cqw;
	font-weight: 700;
	line-height: 1.2;
	text-decoration: none;
}

.fv2026-award__information-heading a span {
	display: grid;
	width: 0.78cqw;
	height: 0.78cqw;
	border-radius: 50%;
	place-items: center;
	background: #111;
	color: #fff;
	font-family: var(--fv-font-en);
	font-size: 0.7cqw;
	font-weight: 700;
	line-height: 1;
}

.fv2026-award__information-heading a:hover {
	text-decoration: underline;
}

.fv2026-award__information-heading a:focus-visible {
	border-radius: 0.15cqw;
	outline: max(2px, 0.1042cqw) solid #005fcc;
	outline-offset: 0.12cqw;
}

.fv2026-award__dates {
	display: grid;
	gap: 0.16cqw;
	width: fit-content;
	margin: 0.38cqw auto 0;
	padding: 0;
	list-style: none;
}

.fv2026-award__dates li {
	position: relative;
	padding-left: 1.2cqw;
	font-size: 0.84cqw;
	font-weight: 700;
	letter-spacing: 0.015em;
	line-height: 1.24;
	white-space: nowrap;
}

.fv2026-award__dates li::before {
	position: absolute;
	top: 50%;
	left: 0;
	display: grid;
	width: 0.76cqw;
	height: 0.76cqw;
	border-radius: 50%;
	place-items: center;
	content: "✓";
	transform: translateY(-50%);
	background: var(--fv-red);
	color: #fff;
	font-family: sans-serif;
	font-size: 0.53cqw;
	font-weight: 900;
	line-height: 1;
}

.fv2026-award__application-status {
	display: flex;
	width: 11.7cqw;
	min-height: 3.05cqw;
	margin: 0.48cqw auto 0;
	padding: 0.34cqw 0.5cqw;
	border-radius: 0.52cqw;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	background: var(--fv-red);
	color: #fff;
	font-size: 0.85cqw;
	font-weight: 700;
	letter-spacing: 0.03em;
	line-height: 1.35;
	text-align: center;
}

.fv2026-award__application-status span,
.fv2026-award__application-status strong {
	display: block;
}

.fv2026-award__application-status strong {
	font: inherit;
}

.fv2026-award__prize-wrap {
	position: relative;
	display: flex;
	min-height: 3.96cqw;
	align-items: center;
	justify-content: center;
	overflow: hidden;
	background:
		linear-gradient(118deg, transparent 0 15%, rgba(218, 199, 143, 0.1) 15.1% 15.35%, transparent 15.45% 100%),
		linear-gradient(61deg, transparent 0 35%, rgba(218, 199, 143, 0.08) 35.1% 35.4%, transparent 35.5% 100%),
		linear-gradient(112deg, #fff 0 79%, #f8f8f4 79.1% 90%, #fff 90.1% 100%);
	border: 0;
}

.fv2026-award__prize-wrap::before,
.fv2026-award__prize-wrap::after {
	position: absolute;
	content: "";
	pointer-events: none;
}

.fv2026-award__prize-wrap::before {
	display: none;
}

.fv2026-award__prize-wrap::after {
	top: -1.0417cqw;
	right: 2.6042cqw;
	width: 3.6458cqw;
	height: 6.25cqw;
	background: rgba(221, 218, 199, 0.14);
	transform: skewX(22deg);
}

.fv2026-award__prize {
	position: relative;
	z-index: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0.7cqw;
	color: var(--fv-gold-dark);
}

.fv2026-award__amount {
	display: flex;
	align-items: baseline;
	justify-content: center;
	margin: 0;
	white-space: nowrap;
}

.fv2026-award__total,
.fv2026-award__number,
.fv2026-award__unit {
	background: linear-gradient(180deg, var(--fv-gold-light) 0%, #b86f00 47%, #d49000 100%);
	background-clip: text;
	color: transparent;
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
}

.fv2026-award__total {
	margin-right: 0.35cqw;
	font-size: 1.3cqw;
	font-weight: 800;
	letter-spacing: 0.02em;
}

.fv2026-award__number {
	font-family: var(--fv-font-en);
	font-size: 2.55cqw;
	font-weight: 800;
	letter-spacing: -0.04em;
	line-height: 0.9;
}

.fv2026-award__unit {
	margin-left: 0.2604cqw;
	font-size: 1.25cqw;
	font-weight: 800;
	letter-spacing: 0.01em;
}

.fv2026-award__note {
	font-size: 0.95cqw;
}

.fv2026-laurel {
	display: block;
	flex: 0 0 auto;
	width: 1.72cqw;
	max-width: none;
	height: auto;
}

.fv2026-laurel--right {
	transform: scaleX(-1);
}

/*------------------------------------------------------------------------------
  2026 FV static design proposals
  ?fv=1: enlarged illustration / ?fv=2: full-background composition
------------------------------------------------------------------------------*/

.fv2026--static-preview .fv2026-scene *,
.fv2026--static-preview .fv2026-scene *::before,
.fv2026--static-preview .fv2026-scene *::after {
	animation: none !important;
}

.fv2026--static-preview .fv2026-object--ship,
.fv2026--static-preview .fv2026-object--ship2,
.fv2026--static-preview .fv2026-object--air {
	display: none;
}

.fv2026-layer--mountains-pale {
	z-index: 1;
	opacity: 0.92;
}

.fv2026-layer--city-left {
	z-index: 2;
}

.fv2026-layer--ai-services {
	z-index: 10;
	filter: drop-shadow(0 0 0.12cqw rgba(24, 181, 210, 0.24));
}

.fv2026--static-preview .fv2026-sensor::before,
.fv2026--static-preview .fv2026-sensor::after {
	opacity: 0;
}

.fv2026--static-preview .fv2026-sensor--car2::before {
	opacity: 0.82;
	transform: scale(0.92) rotate(-5deg);
}

.fv2026--static-preview .fv2026__content {
	z-index: 20;
}

/* Pattern 1: enlarged illustration with the copy area narrowed on the right. */
.fv2026--pattern-1 {
	background: #b5e2fe;
}

.fv2026--pattern-1 .fv2026__background {
	background-color: #b5e2fe;
	background-image: url("/2026/img/top/fv2026/city-background.jpg");
	background-repeat: no-repeat;
	background-position: center bottom;
	background-size: 100% auto;
}

.fv2026--pattern-1 .fv2026__background::before {
	position: absolute;
	z-index: 0;
	right: 0;
	bottom: 0;
	left: 0;
	height: 17.2656cqw;
	content: "";
	background: rgba(255, 255, 255, 0.45);
}

.fv2026--pattern-1 .fv2026__accent {
	z-index: 1;
}

.fv2026--pattern-1 .fv2026__accent--gray {
	display: none;
}

.fv2026--pattern-1 .fv2026__visual {
	top: -10.1cqw;
	left: 4.8cqw;
	width: 53cqw;
}

.fv2026--pattern-1 .fv2026-object--drone-path {
	transform: translate3d(-22%, -14.5%, 0) scale(0.96);
}

.fv2026--pattern-1 .fv2026-object--sate-track {
	z-index: 0;
}

.fv2026--pattern-1 .fv2026-object--house {
	transform: translate3d(-27%, 0, 0);
}

.fv2026--pattern-1 .fv2026-object--car1 {
	transform: translateX(-2%);
}

.fv2026--pattern-1 .fv2026-object--car2 {
	transform: translateX(1.5%);
}

.fv2026--pattern-1 .fv2026__content {
	top: 6.1%;
	left: 49.2cqw;
	width: 42.2cqw;
}

.fv2026--pattern-1 .fv2026__title {
	position: relative;
	top: -0.45cqw;
	width: 34.375cqw;
	margin-left: 2.625cqw;
	font-size: 2.7083cqw;
	letter-spacing: 0.015em;
	line-height: 1.48;
	white-space: nowrap;
}

.fv2026--pattern-1 .fv2026__title-line,
.fv2026--pattern-1 .fv2026__title-line--first {
  margin: 0;
  padding: 0;
  text-align: right;
}

.fv2026--pattern-1 .fv2026-award {
	width: 30.5cqw;
	margin-top: 0.35cqw;
	margin-left: 5.2cqw;
}

/* Pattern 2: isometric city used as one full-width visual field. */
.fv2026--pattern-2 {
	background: #e9faff;
}

.fv2026--pattern-2 .fv2026__background::after,
.fv2026--pattern-2 .fv2026__accent {
	display: none;
}

.fv2026--pattern-2 .fv2026__visual {
	z-index: 0;
	top: -13cqw;
	left: 0;
	width: 100cqw;
	aspect-ratio: 3505 / 2100;
}

.fv2026-scene--pattern2 {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	overflow: visible;
}

.p2-layer--town {
	z-index: 0;
}

.p2-area-base {
	z-index: 1;
}

.p2-area-base--3 {
	z-index: 2;
}

.p2-area-base--2 {
	z-index: 3;
}

.p2-area-base--4 {
	z-index: 10;
}

.p2-motion-layer {
	position: absolute;
	inset: 0;
	display: block;
	width: 100%;
	height: 100%;
	overflow: visible;
	pointer-events: none;
}

.p2-layer--before-town {
	z-index: 13;
}

.p2-motion-layer--cars {
	z-index: 8;
}

.p2-motion-layer--car4-wave {
	z-index: 12;
}

.p2-motion-layer--pins {
	z-index: 14;
}

.p2-pin-marker {
	opacity: 0;
	transform-box: view-box;
	transform-origin: 0 0;
	animation: fv2026-p2-pin-pop 9.7s cubic-bezier(0.22, 0.9, 0.34, 1.18) infinite;
}

.p2-pin-marker--1 { animation-delay: -1.2s; }
.p2-pin-marker--2 { animation-duration: 11.4s; animation-delay: -7.1s; }
.p2-pin-marker--3 { animation-duration: 13.1s; animation-delay: -3.8s; }
.p2-pin-marker--4 { animation-duration: 10.6s; animation-delay: -9.4s; }
.p2-pin-marker--5 { animation-duration: 12.3s; animation-delay: -6.2s; }
.p2-pin-marker--6 { animation-duration: 14.2s; animation-delay: -10.7s; }

.p2-car__vehicle,
.p2-car-wave__image {
	transform: scale(0.78);
	transform-origin: 0 0;
}

.p2-wave-reveal {
	transform: scaleY(0);
	transform-box: fill-box;
	transform-origin: center bottom;
	animation: fv2026-p2-wave-reveal 6.4s ease-in-out infinite;
}

.p2-wave-reveal--2 { animation-duration: 7.1s; animation-delay: -3.8s; }
.p2-wave-reveal--3 { animation-duration: 7.8s; animation-delay: -1.7s; }
.p2-wave-reveal--4 { animation-duration: 6.9s; animation-delay: -5.2s; }
.p2-wave-reveal--5 { animation-duration: 8.2s; animation-delay: -6.4s; }
.p2-wave-reveal--6 { animation-duration: 7.5s; animation-delay: -2.9s; }

.p2-scan-shape {
	z-index: 5;
	opacity: 0;
	filter:
		drop-shadow(0 0 0.28cqw rgba(42, 224, 255, 0.94))
		drop-shadow(0 0 0.7cqw rgba(29, 207, 255, 0.58));
	mix-blend-mode: normal;
	pointer-events: none;
	animation: fv2026-p2-scan-shape 32s linear infinite backwards;
}

.p2-scan-shape--2 {
	z-index: 6;
	animation-delay: 16s;
}

.p2-scan-shape--4 {
	z-index: 11;
}

.p2-drone {
	z-index: 15;
	transform-origin: 28.34% 29.71%;
}

.p2-drone--a {
	animation: fv2026-p2-drone-route-a 32s cubic-bezier(0.45, 0.08, 0.38, 0.98) infinite;
}

.p2-drone--b {
	animation: fv2026-p2-drone-route-b 32s cubic-bezier(0.45, 0.08, 0.38, 0.98) infinite;
}

.p2-layer--drone {
	z-index: 2;
	filter: drop-shadow(0 0.16cqw 0.22cqw rgba(9, 48, 85, 0.2));
}

.p2-drone__beam {
	position: absolute;
	z-index: 1;
	top: 32.4%;
	left: 21.3%;
	display: block;
	width: 14%;
	height: 38%;
	background: linear-gradient(180deg, rgba(66, 218, 255, 0.12), rgba(12, 190, 255, 0.68));
	clip-path: polygon(47% 0, 53% 0, 100% 100%, 0 100%);
	filter: drop-shadow(0 0 0.5cqw rgba(48, 225, 255, 0.82));
	mix-blend-mode: screen;
	transform-origin: 50% 0;
}

.p2-drone__beam--a {
	animation: fv2026-p2-drone-beam-a 32s linear infinite;
}

.p2-drone__beam--b {
	animation: fv2026-p2-drone-beam-b 32s linear infinite;
}

.p2-drone__beam::after {
	position: absolute;
	right: 4%;
	bottom: 0;
	left: 4%;
	height: 8%;
	border: 0.08cqw solid rgba(125, 242, 255, 0.92);
	border-radius: 50%;
	box-shadow: 0 0 0.35cqw rgba(40, 220, 255, 0.76);
	content: "";
}

.fv2026--pattern-2 .fv2026__content {
	top: 4.85%;
	right: auto;
	bottom: auto;
	left: 46.6cqw;
	width: 38.2cqw;
}

.fv2026--pattern-2 .fv2026__title {
	position: relative;
	top: auto;
	left: auto;
	width: 38.2cqw;
	margin-left: 0;
	padding: 0;
	background: transparent;
	box-shadow: none;
	font-size: 2.85cqw;
	line-height: 1.18;
	white-space: nowrap;
	backdrop-filter: none;
}

.fv2026--pattern-2 .fv2026__title::before {
	display: none;
}

.fv2026--pattern-2 .fv2026__title-line,
.fv2026--pattern-2 .fv2026__title-line--first {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	width: 100%;
	min-height: 3.8cqw;
	margin: 0 0 0 auto;
	padding: 0 0.65cqw;
	background: #fff;
	text-align: right;
}

.fv2026--pattern-2 .fv2026__title-line + .fv2026__title-line {
	margin-top: 0.55cqw;
}

.fv2026--pattern-2 .fv2026__title-line:nth-child(2) {
	width: 29.85cqw;
}

.fv2026--pattern-2 .fv2026__title-line:nth-child(3) {
	width: 18.15cqw;
}

.fv2026--pattern-2 .fv2026-award {
	position: relative;
	top: auto;
	right: auto;
	width: 31.1cqw;
	margin: 0.8cqw 0 0 auto;
	box-shadow: none;
}

.fv2026--pattern-2 .fv2026-award__title {
	font-size: 1.1cqw;
}

.fv2026--pattern-1 .fv2026__accent--green {
	width: 11cqw;
	height: 33.871%;
}

/* Latest 2026 illustration layer order. */
.fv2026-layer--mountain {
	z-index: 1;
}

.fv2026-layer--town {
	z-index: 2;
}

.fv2026-layer--earth {
	z-index: 20;
}

.fv2026-object--ship {
	z-index: 4;
	transform-origin: 21% 51.5%;
}

.fv2026-object--wind,
.fv2026-layer--field {
	z-index: 5;
}

.fv2026-object--wind {
	transform: none;
}

.fv2026-object--map,
.fv2026-layer--ai-robot {
	z-index: 6;
}

.fv2026-layer--humans {
	z-index: 7;
}

.fv2026-object--map > svg {
	position: absolute;
	inset: 0;
	display: block;
	width: 100%;
	height: 100%;
	overflow: visible;
}

.fv2026-object--ai-robot2,
.fv2026-object--car {
	z-index: 7;
}

.fv2026-object--air {
	z-index: 0;
}

.fv2026-object--sate-track {
	z-index: 9;
}

.fv2026-object--drone-path {
	z-index: 10;
}

.fv2026-layer--wind-wing {
	transform-origin: 26.5081% 44.7026%;
}

.fv2026-layer--d1w1 {
	transform-origin: 76.8377% 34.8477%;
}

.fv2026-layer--d1w2 {
	transform-origin: 78.3875% 33.4371%;
}

.fv2026-layer--d1w3 {
	transform-origin: 86.0664% 35.4681%;
}

.fv2026-layer--d1w4 {
	transform-origin: 86.2546% 37.3764%;
}

.fv2026-layer--wave,
.fv2026-layer--ai-water {
	opacity: 0;
}

@media (max-width: 767px) {
	main.fv2026 {
		height: 205vw;
		aspect-ratio: auto;
	}

	.fv2026--pattern-1 .fv2026__content,
	.fv2026--pattern-2 .fv2026__content {
		inset: 0 auto auto 5vw;
		width: 90vw;
	}

	.fv2026--pattern-1 .fv2026__title,
	.fv2026--pattern-2 .fv2026__title {
		position: relative;
		top: auto;
		left: auto;
		width: 90vw;
		margin-left: 0;
		padding: 5vw 1vw 0;
		background: transparent;
		box-shadow: none;
		font-size: 6.5vw;
		line-height: 1.5;
		text-align: right;
		backdrop-filter: none;
	}

	.fv2026--pattern-2 .fv2026__title::before {
		display: none;
	}

  .fv2026--pattern-1 .fv2026__title-line {
    text-align: right;
  }

  .fv2026--pattern-2 .fv2026__title-line {
    text-align: right;
  }

	.fv2026--pattern-2 .fv2026__title-line,
	.fv2026--pattern-2 .fv2026__title-line--first {
		display: block;
		width: 100%;
		min-height: 0;
		margin: 0;
		padding: 0;
		background: transparent;
	}

	.fv2026--pattern-1 .fv2026-award,
	.fv2026--pattern-2 .fv2026-award {
		position: relative;
		top: auto;
		right: auto;
		width: 90vw;
		margin: 4vw 0 0;
	}

	.fv2026-award__status-badge {
		top: -7vw;
		left: -1.5vw;
		width: 16vw;
		height: 16vw;
		font-size: 3vw;
	}

	.fv2026-award__intro {
		min-height: 28vw;
		padding: 3vw 3vw 2.5vw;
		border-bottom-color: #bbe5ff;
	}

	.fv2026-award__year { font-size: 2.8vw; }
	.fv2026-award__year [lang="en"] { font-size: 4.5vw; }
	.fv2026--pattern-1 .fv2026-award__title,
	.fv2026--pattern-2 .fv2026-award__title {
		margin-top: 0.8vw;
		font-size: 4vw;
	}
	.fv2026-award__title strong { font-size: 4.65vw; }

	.fv2026-award__details {
		display: block;
		min-height: 0;
	}

	.fv2026-award__information {
		padding: 2.2vw 4vw 2.8vw;
	}

	.fv2026-award__information + .fv2026-award__information {
		border-top: 0;
		border-left: 0;
	}

	.fv2026-award__information-heading {
		gap: 2vw;
	}

	.fv2026-award__information-heading h4 { font-size: 4.1vw; }
	.fv2026-award__information-heading a {
		min-height: 11.3vw;
		gap: 0.5vw;
		font-size: 2.8vw;
	}
	.fv2026-award__information-heading a span {
		width: 4vw;
		height: 4vw;
		font-size: 3.4vw;
	}

	.fv2026-award__dates {
		gap: 0.8vw;
		margin-top: 1vw;
	}
	.fv2026-award__dates li {
		padding-left: 5.2vw;
		font-size: 3.45vw;
	}
	.fv2026-award__dates li::before {
		width: 3.5vw;
		height: 3.5vw;
		font-size: 2.4vw;
	}

	.fv2026-award__application-status {
		width: 65vw;
		min-height: 15vw;
		margin-top: 1vw;
		padding: 1.8vw 3vw;
		border-radius: 2.2vw;
		font-size: 3.5vw;
	}

	.fv2026-award__prize-wrap { min-height: 20vw; }
	.fv2026-award__prize { gap: 2vw; }
	.fv2026-award__total { margin-right: 1vw; font-size: 4.2vw; }
	.fv2026-award__number { font-size: 9vw; }
	.fv2026-award__unit { margin-left: 0.7vw; font-size: 4.2vw; }
	.fv2026-award__note { font-size: 3.1vw; }
	.fv2026-laurel { width: 6vw; }

	.fv2026--pattern-1 .fv2026__visual,
	.fv2026--pattern-2 .fv2026__visual {
		top: 66vw;
		left: -24vw;
		width: 142vw;
	}

	.fv2026--pattern-1 .fv2026__accent--green,
	.fv2026--pattern-2 .fv2026__accent--green { width: 34vw; height: 34vw; }
	.fv2026--pattern-2 .fv2026__accent--blue { width: 62vw; height: 58%; }

	/* Pattern 1: smartphone-only vertical composition. */
	main.fv2026--pattern-1 {
		height: 212vw;
		background: #bbe5ff;
	}

	.fv2026--pattern-1 .fv2026__background {
		inset: 0;
		height: auto;
		background-color: #bbe5ff;
		background-image:
			linear-gradient(rgba(239, 250, 255, 0.55), rgba(239, 250, 255, 0.55)),
			url("/2026/img/top/fv2026/city-background.jpg");
		background-repeat: no-repeat;
		background-position: center bottom;
		background-size: auto 60vw;
	}

	.fv2026--pattern-1 .fv2026__background::before,
	.fv2026--pattern-1 .fv2026__accent {
		display: none;
	}

	.fv2026--pattern-1 .fv2026__title {
		padding: 10vw 1vw 7vw;
		font-size: 7vw;
		letter-spacing: 0;
	}

	.fv2026--pattern-1 .fv2026__visual {
		top: 108vw;
		left: -19vw;
		width: 130vw;
	}

	.fv2026--pattern-1 .fv2026-award {
		position: absolute;
		top: 50vw;
		left: 0;
		margin: 0;
	}

	.fv2026--pattern-1 .fv2026-award__status-badge {
		top: -8vw;
		left: -2vw;
		width: 20vw;
		height: 20vw;
		font-size: 3.5vw;
	}

	.fv2026--pattern-1 .fv2026-award__title {
		font-size: 5vw;
	}

	.fv2026--pattern-1 .fv2026-award__title strong {
		font-size: 5.5vw;
	}

	.fv2026--pattern-1 .fv2026-award__details {
		display: grid;
		grid-template-columns: 52% 48%;
	}

	.fv2026--pattern-1 .fv2026-award__information {
		padding: 2.2vw 1.2vw 2.6vw;
	}

	.fv2026--pattern-1 .fv2026-award__information-heading {
		flex-direction: column;
		gap: 0.7vw;
	}

	.fv2026--pattern-1 .fv2026-award__information-heading a {
		min-height: 4.5vw;
		gap: 0.5vw;
		font-size: 3.15vw;
	}

	.fv2026--pattern-1 .fv2026-award__information-heading a span {
		width: 3.8vw;
		height: 3.8vw;
		font-size: 3.2vw;
	}

	.fv2026--pattern-1 .fv2026-award__dates {
		gap: 0.65vw;
		margin-top: 15px;
	}

	.fv2026--pattern-1 .fv2026-award__dates li {
		padding-left: 4vw;
		font-size: 3.5vw;
	}

	.fv2026--pattern-1 .fv2026-award__dates li::before {
		width: 3vw;
		height: 3vw;
		font-size: 2.1vw;
	}

	.fv2026--pattern-1 .fv2026-award__application-status {
		width: 35.5vw;
		min-height: 15vw;
		margin-top: 15px;
		padding: 1.5vw 1vw;
		font-size: 3.3vw;
	}

}

@media (prefers-reduced-motion: reduce) {
	.fv2026 *,
	.fv2026 *::before,
	.fv2026 *::after {
		animation: none !important;
	}
}

/* スマートフォン版はデザイン確定後に追加します。 */
