:root{--color-primary: #2d6a4f;--color-primary-light: #40916c;--color-primary-dark: #1b4332;--color-accent: #52b788;--color-bg: #fafafa;--color-bg-card: #ffffff;--color-text: #333333;--color-text-muted: #666666;--color-border: #e0e0e0;--font-family: "Zen Maru Gothic", -apple-system, BlinkMacSystemFont, "Hiragino Sans", "Hiragino Kaku Gothic ProN", sans-serif;--max-width: 960px;--header-height: 60px;--border-radius: 16px;--border-radius-sm: 8px;--spacing-xs: .5rem;--spacing-sm: 1rem;--spacing-md: 1.5rem;--spacing-lg: 2rem;--spacing-xl: 3rem}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;scroll-behavior:smooth}body{font-family:var(--font-family);background-color:var(--color-bg);color:var(--color-text);line-height:1.7;min-height:100vh}a{color:var(--color-primary);text-decoration:none;transition:color .2s ease}a:hover{color:var(--color-primary-light)}img{max-width:100%;height:auto;display:block}.header{background:var(--color-bg-card);border-bottom:1px solid var(--color-border);position:sticky;top:0;z-index:100}.header-inner{max-width:var(--max-width);margin:0 auto;padding:0 var(--spacing-sm);height:var(--header-height);display:flex;align-items:center;justify-content:space-between}.site-logo{font-size:1.25rem;font-weight:700;color:var(--color-primary)}.site-logo:hover{color:var(--color-primary-dark)}.nav-list{display:flex;list-style:none;gap:var(--spacing-sm)}.nav-link{display:block;padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--border-radius-sm);font-size:.875rem;color:var(--color-text);transition:background-color .2s ease}.nav-link:hover{background-color:var(--color-bg);color:var(--color-primary)}.mobile-menu-btn{display:none;background:none;border:none;cursor:pointer;padding:var(--spacing-xs)}.mobile-menu-btn span{display:block;width:24px;height:2px;background:var(--color-text);margin:5px 0;transition:.3s}main{max-width:var(--max-width);margin:0 auto;padding:var(--spacing-lg) var(--spacing-sm);min-height:calc(100vh - var(--header-height) - 200px)}.footer{background:var(--color-primary-dark);color:#fff;padding:var(--spacing-lg) var(--spacing-sm);margin-top:var(--spacing-xl)}.footer-inner{max-width:var(--max-width);margin:0 auto;display:flex;flex-direction:column;align-items:center;gap:var(--spacing-md);text-align:center}.footer-links{display:flex;gap:var(--spacing-md)}.footer-links a{color:#fff;opacity:.9;transition:opacity .2s}.footer-links a:hover{opacity:1;color:#fff}.footer-copy{font-size:.875rem;opacity:.8}.hero{text-align:center;padding:var(--spacing-xl) 0}.hero-image{width:200px;height:200px;margin:0 auto var(--spacing-lg);border-radius:50%;overflow:hidden;background:var(--color-bg);display:flex;align-items:center;justify-content:center}.hero-image img{width:100%;height:100%;object-fit:cover}.hero-title{font-size:2rem;color:var(--color-primary-dark);margin-bottom:var(--spacing-sm)}.hero-description{font-size:1.125rem;color:var(--color-text-muted);max-width:600px;margin:0 auto}.section{margin-bottom:var(--spacing-xl)}.section-title{font-size:1.5rem;color:var(--color-primary-dark);margin-bottom:var(--spacing-md);padding-bottom:var(--spacing-xs);border-bottom:2px solid var(--color-accent)}.card{background:var(--color-bg-card);border-radius:var(--border-radius);padding:var(--spacing-md);box-shadow:0 2px 8px #0000000f;transition:transform .2s ease,box-shadow .2s ease}.card:hover{transform:translateY(-2px);box-shadow:0 4px 16px #0000001a}.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--spacing-md)}.card-title{font-size:1.125rem;color:var(--color-primary);margin-bottom:var(--spacing-xs)}.card-description{color:var(--color-text-muted);font-size:.9375rem}.card-link{display:inline-block;margin-top:var(--spacing-sm);color:var(--color-primary);font-weight:500}.card-link:hover{text-decoration:underline}.btn{display:inline-block;padding:var(--spacing-sm) var(--spacing-md);background:var(--color-primary);color:#fff;border:none;border-radius:var(--border-radius-sm);font-size:1rem;font-weight:500;cursor:pointer;transition:background-color .2s ease;text-align:center}.btn:hover{background:var(--color-primary-light);color:#fff}.btn-outline{background:transparent;border:2px solid var(--color-primary);color:var(--color-primary)}.btn-outline:hover{background:var(--color-primary);color:#fff}.contact-links{display:flex;flex-wrap:wrap;gap:var(--spacing-md);justify-content:center;margin-top:var(--spacing-lg)}.page-header{text-align:center;padding:var(--spacing-lg) 0;margin-bottom:var(--spacing-lg)}.page-title{font-size:1.75rem;color:var(--color-primary-dark)}.page-description{color:var(--color-text-muted);margin-top:var(--spacing-xs)}.guideline-section{background:var(--color-bg-card);border-radius:var(--border-radius);padding:var(--spacing-md);margin-bottom:var(--spacing-md)}.guideline-section h3{color:var(--color-primary);margin-bottom:var(--spacing-sm)}.guideline-section ul{margin-left:var(--spacing-md);color:var(--color-text-muted)}.guideline-section li{margin-bottom:var(--spacing-xs)}.error-page{text-align:center;padding:var(--spacing-xl) 0}.error-code{font-size:6rem;font-weight:700;color:var(--color-primary);line-height:1}@media(max-width:768px){.nav{position:fixed;top:var(--header-height);left:0;right:0;background:var(--color-bg-card);border-bottom:1px solid var(--color-border);padding:var(--spacing-sm);display:none}.nav.is-open{display:block}.nav-list{flex-direction:column;gap:0}.nav-link{padding:var(--spacing-sm)}.mobile-menu-btn{display:block}.hero-title{font-size:1.5rem}.hero-description{font-size:1rem}.hero-image{width:150px;height:150px}main{padding:var(--spacing-md) var(--spacing-sm)}}
