*{margin:0;padding:0;box-sizing:border-box}:root{--navy:#1a2744;--gold:#c9a227;--sakura:#f8c3cd;--white:#fff;--gray:#f5f5f5;--text:#333}body{font-family:Noto Sans JP,Helvetica Neue,Arial,sans-serif;color:var(--text);line-height:1.8}a{color:inherit;text-decoration:none}.container{max-width:1000px;margin:0 auto;padding:0 24px}.hero{background:linear-gradient(135deg,var(--navy) 0,#2a3a5a 100%);color:var(--white);padding:120px 24px;text-align:center}.hero h1{font-size:2.5rem;font-weight:700;margin-bottom:16px;letter-spacing:.1em}.hero-tagline{font-size:1.1rem;color:var(--gold);letter-spacing:.05em}.section{padding:80px 24px}.section-gray{background:var(--gray)}.section-navy{background:var(--navy);color:var(--white)}.section-title{font-size:1.5rem;font-weight:700;text-align:center;margin-bottom:40px;position:relative;padding-bottom:16px}.section-title:after{content:"";position:absolute;bottom:0;left:50%;transform:translateX(-50%);width:60px;height:3px;background:var(--gold)}.section-title.light:after{background:var(--sakura)}.section-lead{text-align:center;max-width:700px;margin:0 auto;line-height:2}.business-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));grid-gap:32px;gap:32px;margin-top:40px}.business-card{background:var(--white);padding:32px;border-radius:8px;box-shadow:0 4px 20px rgba(0,0,0,.08)}.business-card h3{font-size:1.3rem;color:var(--navy);margin-bottom:8px}.business-type{font-size:.9rem;color:var(--gold);margin-bottom:16px;font-weight:500}.company-table{width:100%;max-width:700px;margin:0 auto;border-collapse:collapse}.company-table td,.company-table th{padding:16px 20px;border-bottom:1px solid #e0e0e0;text-align:left}.company-table th{width:140px;background:var(--gray);font-weight:500;color:var(--navy)}.company-table td{background:var(--white)}.contact-text{text-align:center;margin-bottom:24px}.contact-email{display:block;text-align:center;font-size:1.2rem;color:var(--gold);font-weight:500}.contact-email:hover{text-decoration:underline}.footer{background:#111;color:#888;padding:24px;text-align:center;font-size:.85rem}@media (max-width:768px){.hero{padding:80px 24px}.hero h1{font-size:1.8rem}.section{padding:60px 24px}.company-table td,.company-table th{display:block;width:100%}.company-table th{border-bottom:none;padding-bottom:8px}.company-table td{padding-top:0}}