@import url("https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=Noto+Sans+JP:wght@400;500;600;700;800&display=swap");:root{--color-primary-50:#ecfdf5;--color-primary-100:#d1fae5;--color-primary-200:#a7f3d0;--color-primary-300:#6ee7b7;--color-primary-400:#34d399;--color-primary-500:#10b981;--color-primary-600:#059669;--color-primary-700:#047857;--color-primary-800:#065f46;--color-primary-900:#064e3b;--color-secondary-50:#f0fdfa;--color-secondary-100:#ccfbf1;--color-secondary-200:#99f6e4;--color-secondary-300:#5eead4;--color-secondary-400:#2dd4bf;--color-secondary-500:#14b8a6;--color-secondary-600:#0d9488;--color-secondary-700:#0f766e;--color-accent-400:#fbbf24;--color-accent-500:#f59e0b;--color-accent-600:#d97706;--color-gray-50:#f9fafb;--color-gray-100:#f3f4f6;--color-gray-200:#e5e7eb;--color-gray-300:#d1d5db;--color-gray-400:#9ca3af;--color-gray-500:#6b7280;--color-gray-600:#4b5563;--color-gray-700:#374151;--color-gray-800:#1f2937;--color-gray-900:#111827;--bg-primary:#ffffff;--bg-secondary:#f9fafb;--bg-accent:var(--color-primary-50);--bg-dark:var(--color-gray-900);--text-primary:var(--color-gray-900);--text-secondary:var(--color-gray-600);--text-muted:var(--color-gray-400);--text-inverse:#ffffff;--font-sans:"Noto Sans JP","Inter",-apple-system,BlinkMacSystemFont,sans-serif;--font-display:"Inter","Noto Sans JP",sans-serif;--text-xs:0.75rem;--text-sm:0.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.25rem;--text-2xl:1.5rem;--text-3xl:1.875rem;--text-4xl:2.25rem;--text-5xl:3rem;--space-1:0.25rem;--space-2:0.5rem;--space-3:0.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--space-20:5rem;--space-24:6rem;--radius-sm:0.375rem;--radius-md:0.5rem;--radius-lg:0.75rem;--radius-xl:1rem;--radius-2xl:1.5rem;--radius-full:9999px;--shadow-sm:0 1px 2px 0 rgba(0,0,0,0.05);--shadow-md:0 4px 6px -1px rgba(0,0,0,0.1),0 2px 4px -2px rgba(0,0,0,0.1);--shadow-lg:0 10px 15px -3px rgba(0,0,0,0.1),0 4px 6px -4px rgba(0,0,0,0.1);--shadow-xl:0 20px 25px -5px rgba(0,0,0,0.1),0 8px 10px -6px rgba(0,0,0,0.1);--transition-fast:150ms ease;--transition-base:250ms ease;--transition-slow:350ms ease;--max-width:1200px;--header-height:72px}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-sans);font-size:var(--text-base);line-height:1.75;color:var(--text-primary);background:var(--bg-primary)}canvas,img,picture,svg,video{display:block;max-width:100%}a{color:var(--color-primary-600);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--color-primary-700)}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);line-height:1.3;font-weight:700;color:var(--text-primary)}.container{width:100%;max-width:var(--max-width);margin-inline:auto;padding-inline:var(--space-6)}.section{padding-block:var(--space-20)}.section-title{font-size:var(--text-3xl);font-weight:800;text-align:center;margin-bottom:var(--space-4)}.section-subtitle{font-size:var(--text-lg);color:var(--text-secondary);text-align:center;margin-bottom:var(--space-12)}.section-label{display:block;text-align:center;font-size:var(--text-sm);font-weight:600;color:var(--color-primary-600);letter-spacing:.05em;text-transform:uppercase;margin-bottom:var(--space-3)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-3) var(--space-6);font-family:var(--font-sans);font-size:var(--text-base);font-weight:600;border:none;border-radius:var(--radius-lg);cursor:pointer;transition:all var(--transition-base);text-decoration:none;line-height:1.5}.btn-primary{background:linear-gradient(135deg,var(--color-primary-500),var(--color-primary-600));color:white;box-shadow:0 4px 14px 0 rgba(5,150,105,.39)}.btn-primary:hover{background:linear-gradient(135deg,var(--color-primary-600),var(--color-primary-700));transform:translateY(-2px);box-shadow:0 6px 20px 0 rgba(5,150,105,.45);color:white}.btn-secondary{background:white;color:var(--color-primary-600);border:2px solid var(--color-primary-200)}.btn-secondary:hover{background:var(--color-primary-50);border-color:var(--color-primary-400);color:var(--color-primary-700)}.btn-lg{padding:var(--space-4) var(--space-8);font-size:var(--text-lg)}.btn-lg,.card{border-radius:var(--radius-xl)}.card{background:white;overflow:hidden;box-shadow:var(--shadow-sm);border:1px solid var(--color-gray-100);transition:all var(--transition-base)}.card:hover{box-shadow:var(--shadow-lg);transform:translateY(-4px)}.card-image{width:100%;aspect-ratio:16/9;object-fit:cover}.card-body{padding:var(--space-5)}.card-title{font-size:var(--text-lg);font-weight:700;margin-bottom:var(--space-2)}.card-excerpt,.card-title{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.card-excerpt{font-size:var(--text-sm);color:var(--text-secondary)}.card-meta{display:flex;align-items:center;gap:var(--space-3);margin-top:var(--space-3);color:var(--text-muted)}.badge,.card-meta{font-size:var(--text-xs)}.badge{display:inline-block;padding:var(--space-1) var(--space-3);font-weight:600;border-radius:var(--radius-full);background:var(--color-primary-50);color:var(--color-primary-700)}.grid-2{grid-template-columns:repeat(2,1fr);grid-gap:var(--space-6)}.grid-2,.grid-3{display:grid;gap:var(--space-6)}.grid-3{grid-template-columns:repeat(3,1fr);grid-gap:var(--space-6)}@media (max-width:1024px){.grid-3{grid-template-columns:repeat(2,1fr)}}@media (max-width:768px){:root{--text-3xl:1.5rem;--text-4xl:1.875rem;--text-5xl:2.25rem}.section{padding-block:var(--space-12)}.grid-2,.grid-3{grid-template-columns:1fr}.container{padding-inline:var(--space-4)}.desktop-only{display:none!important}.mobile-show{display:block!important}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideInLeft{0%{opacity:0;transform:translateX(-30px)}to{opacity:1;transform:translateX(0)}}.animate-fade-in-up{animation:fadeInUp .6s ease forwards}.animate-fade-in{animation:fadeIn .5s ease forwards}.animate-slide-in-left{animation:slideInLeft .6s ease forwards}.animate-delay-1{animation-delay:.1s}.animate-delay-2{animation-delay:.2s}.animate-delay-3{animation-delay:.3s}.animate-delay-4{animation-delay:.4s}.animate-delay-5{animation-delay:.5s}