:root{--color-primary:#2e9b3e;--color-primary-light:#4caf50;--color-primary-dark:#1b5e20;--color-primary-rgb:46,155,62;--color-accent:#f5c518;--color-accent-light:#ffd54f;--color-bg-hero:linear-gradient(160deg,#2e9b3e 0%,#43a047 40%,#66bb6a 100%);--color-bg-news:linear-gradient(135deg,#2e9b3e 0%,#388e3c 50%,#43a047 100%);--color-bg-footer:#1b5e20;--color-text-on-primary:#fff;--color-text-body:#333;--color-text-light:#666;--color-bg-light:#f1f8e9;--color-bg-white:#fff;--color-border:#c8e6c9;--font-primary:"Montserrat","Noto Sans JP",sans-serif;--font-body:"Noto Sans JP","Montserrat",sans-serif}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;scroll-padding-top:80px}body{font-family:var(--font-body);color:var(--color-text-body);background-color:var(--color-bg-white);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px;line-height:1.8}body.is-intro{overflow:hidden}a{color:inherit;text-decoration:none}img{max-width:100%;height:auto;display:block}ul{list-style:none}.section-inner{max-width:1000px;margin:0 auto;padding:80px 24px}.section-title{font-family:var(--font-primary);letter-spacing:.08em;text-align:center;color:var(--color-primary);margin-bottom:48px;font-size:48px;font-weight:800}.animate-on-scroll{opacity:0;transition:opacity .6s,transform .6s;transform:translateY(30px)}.animate-on-scroll.animated{opacity:1;transform:translateY(0)}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-12px)}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.04)}}@keyframes gradientShift{0%{background-position:0%}50%{background-position:100%}to{background-position:0%}}.nav-overlay{z-index:998;background:#00000080;width:100%;height:100%;display:none;position:fixed;top:0;left:0}.nav-overlay.active{display:block}@media (max-width:768px){.section-inner{padding:60px 20px}.section-title{margin-bottom:36px;font-size:36px}}@media (max-width:480px){.section-inner{padding:48px 16px}.section-title{margin-bottom:28px;font-size:28px}}@media (max-width:360px){.section-inner{padding:40px 12px}.section-title{margin-bottom:24px;font-size:24px}}
