:root { --fp-navy: #002040;
--fp-navy-light: #003366;
--fp-navy-mid: #002d5c;
--fp-navy-dark: #001a33;
--fp-yellow: #CCFF00;
--fp-yellow-hover: #b3e600;
--fp-white: #FFFFFF;
--fp-gray-bg: #f8f9fa;
--fp-gray-bg-alt: #f4f6f8;
--fp-gray-light: #f8fafb; --fp-text-dark: #1A1A1A;
--fp-text-muted: #4A5565;
--fp-text-subtle: #364153;
--fp-text-light: #D1D5DC;
--fp-text-gray: #99A1AF; --fp-font: Helvetica, 'Helvetica Neue', Arial, 'Hiragino Kaku Gothic ProN', 'Hiragino Sans', Meiryo, sans-serif;
--fp-font-size-hero: 64px;
--fp-font-size-section: 36px;
--fp-font-size-heading-md: 24px;
--fp-font-size-heading-sm: 20px;
--fp-font-size-body-lg: 20px;
--fp-font-size-body: 18px;
--fp-font-size-body-base: 16px;
--fp-font-size-small: 14px;
--fp-font-size-label: 12px; --fp-section-py: 64px;
--fp-container-max: 1280px;
--fp-container-px: 32px; --fp-shadow-card: 0 4px 6px -1px rgba(0, 32, 64, 0.1), 0 2px 4px -2px rgba(0, 32, 64, 0.1);
--fp-shadow-card-hover: 0 20px 25px -5px rgba(0, 32, 64, 0.15), 0 8px 10px -6px rgba(0, 32, 64, 0.1);
--fp-shadow-2xl: 0 25px 50px -12px rgba(0, 32, 64, 0.25);
--fp-shadow-glow-yellow: 0 0 20px rgba(204, 255, 0, 0.3);
--fp-shadow-glow-yellow-intense: 0 0 30px rgba(204, 255, 0, 0.5), 0 0 60px rgba(204, 255, 0, 0.2); --fp-transition: all 0.3s cubic-bezier(0, 0, 0.2, 1);
--fp-transition-card: transform 0.3s ease, box-shadow 0.3s ease; --fp-radius: 8px;
--fp-radius-lg: 12px;
--fp-radius-xl: 16px;
}  #main.fp {
opacity: 1 !important;
animation: none !important;
}
.fp-page .fp {
font-family: var(--fp-font);
font-size: 16px;
font-variation-settings: normal;
-webkit-text-size-adjust: 100%;
overflow-x: hidden;
}  .fp-container {
max-width: var(--fp-container-max);
margin: 0 auto;
padding: 0 var(--fp-container-px);
} .fp-section-title {
font-size: var(--fp-font-size-section);
font-weight: 500;
line-height: 1.375;
margin: 0;
}
.fp-section-subtitle {
font-size: var(--fp-font-size-body-lg);
font-weight: 400;
line-height: 1.625;
margin: 0;
} .fp-accent {
color: var(--fp-yellow);
} .fp-btn {
display: inline-flex;
align-items: center;
justify-content: center;
gap: 8px;
padding: 10px 32px;
border-radius: var(--fp-radius);
font-size: 16px;
font-weight: 700;
font-family: var(--fp-font);
text-decoration: none;
cursor: pointer;
border: none;
transition: var(--fp-transition);
line-height: 1.5;
}
.fp-btn--primary {
background: var(--fp-yellow);
color: var(--fp-navy);
box-shadow: 0 2px 4px rgba(0, 32, 64, 0.1);
}
.fp-btn--primary:hover {
background: var(--fp-yellow-hover);
transform: scale(1.05);
box-shadow: var(--fp-shadow-glow-yellow);
}
.fp-btn--secondary {
background: transparent;
color: var(--fp-yellow);
border: 2px solid var(--fp-yellow);
box-shadow: 0 2px 4px rgba(0, 32, 64, 0.1);
}
.fp-btn--secondary:hover {
background: var(--fp-yellow);
color: var(--fp-navy);
transform: scale(1.05);
box-shadow: var(--fp-shadow-glow-yellow);
}
.fp-btn--white {
background: var(--fp-white);
color: var(--fp-navy);
}
.fp-btn--white:hover {
background: #f0f0f0;
transform: scale(1.05);
}
.fp-btn--lg {
padding: 14px 40px;
font-size: var(--fp-font-size-body-lg);
} .fp-arrow {
width: 16px;
height: 16px;
transition: transform 0.3s ease;
flex-shrink: 0;
margin-top: -2px;
} .fp-card-hover {
transition: var(--fp-transition-card);
}
.fp-card-hover:hover {
transform: translateY(-4px);
box-shadow: var(--fp-shadow-card-hover);
} @keyframes fp-fadeInUp {
from {
opacity: 0;
transform: translateY(20px);
}
to {
opacity: 1;
transform: translateY(0);
}
} .fp-animate {
opacity: 0;
transform: translateY(20px);
transition: opacity 0.6s ease, transform 0.6s ease;
}
.fp-animate.fp-visible {
opacity: 1;
transform: translateY(0);
} @media only screen and (max-width: 640px) {
:root {
--fp-font-size-hero: 36px;
--fp-font-size-section: 24px;
--fp-font-size-heading-md: 20px;
--fp-font-size-heading-sm: 18px;
--fp-font-size-body-lg: 16px;
--fp-font-size-body: 16px;
--fp-section-py: 48px;
--fp-container-px: 16px;
}
.fp-btn {
padding: 12px 20px;
font-size: 16px;
}
}