:root{--orange:#f57c1f;--orange-dark:#e2660a;--orange-soft:#fff4ea;--text:#333;--text-light:#666;--heading:#1f1b16;--bg:#fff;--bg-alt:#faf6f1;--border:#ece5dd;--sans:system-ui, "Hiragino Kaku Gothic ProN", "Noto Sans JP", Meiryo, sans-serif;font-family:var(--sans);color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px;line-height:1.8}*{box-sizing:border-box}body{margin:0}h1,h2,h3{color:var(--heading);margin:0;line-height:1.4}p{margin:0}a{color:inherit;text-decoration:none}.container{width:100%;max-width:960px;margin:0 auto;padding:0 24px}.container-narrow{max-width:640px}.site{flex-direction:column;min-height:100vh;display:flex}.main{flex:1}.header{border-bottom:1px solid var(--border);background:var(--bg);z-index:10;position:sticky;top:0}.header-inner{justify-content:space-between;align-items:center;height:64px;display:flex}.brand{color:var(--orange);letter-spacing:.5px;font-size:22px;font-weight:700}.nav{gap:28px;display:flex}.nav a{color:var(--text-light);font-size:15px;transition:color .15s}.nav a:hover,.nav a.active{color:var(--orange)}.hero{background:var(--orange-soft);padding:96px 0}.hero-vision{color:var(--orange);letter-spacing:2px;margin-bottom:16px;font-weight:700}.hero-title{margin-bottom:28px;font-size:38px;font-weight:700}.hero-lead{max-width:720px;color:var(--text-light)}.section{padding:72px 0}.section-mission,.section-business{background:var(--bg-alt)}.section-label{color:var(--orange);letter-spacing:2px;margin-bottom:8px;font-size:14px;font-weight:700}.section-title{margin-bottom:40px;font-size:28px}.mission-text{margin-bottom:24px;font-size:30px;font-weight:700}.mission-body{max-width:760px;color:var(--text-light)}.cards{grid-template-columns:repeat(3,1fr);gap:24px;display:grid}.card{background:var(--bg);border:1px solid var(--border);border-radius:12px;padding:28px 24px}.card-num{background:var(--orange);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;margin-bottom:12px;font-weight:700;display:inline-flex}.card h3{margin-bottom:8px;font-size:18px}.card p{color:var(--text-light);font-size:14px}.card-tagline{font-weight:600;color:var(--orange)!important;margin-bottom:12px!important}.section-cta{text-align:center;background:var(--orange-soft)}.section-cta h2{margin-bottom:24px;font-size:24px}.btn{background:var(--orange);color:#fff;cursor:pointer;border:none;border-radius:8px;padding:14px 36px;font-size:16px;font-weight:600;transition:background .15s;display:inline-block}.btn:hover{background:var(--orange-dark)}.page-head{background:var(--orange-soft);padding:56px 0}.page-title{font-size:30px}.page-lead{color:var(--text-light);margin-top:12px}.info-table{border-collapse:collapse;width:100%}.info-table th,.info-table td{text-align:left;border-bottom:1px solid var(--border);vertical-align:top;padding:18px 8px}.info-table th{width:160px;color:var(--heading);font-weight:600}.info-table td{color:var(--text-light)}.section-greeting{background:var(--bg-alt)}.greeting{grid-template-columns:220px 1fr;align-items:start;gap:40px;display:grid}.greeting-photo{text-align:center;margin:0}.greeting-photo img{aspect-ratio:3/4;object-fit:cover;border-radius:12px;width:100%;display:block}.greeting-photo figcaption{color:var(--heading);margin-top:12px;font-size:14px;font-weight:600}.greeting-body p{color:var(--text-light);margin-bottom:20px}.greeting-body p:last-child{margin-bottom:0}@media (width<=768px){.greeting{grid-template-columns:1fr;gap:24px}.greeting-photo{max-width:220px;margin:0 auto}}.form{flex-direction:column;gap:24px;display:flex}.field{flex-direction:column;gap:8px;display:flex}.field-row{grid-template-columns:1fr 1fr;gap:16px;display:grid}@media (width<=768px){.field-row{grid-template-columns:1fr}}.field-label{color:var(--heading);font-size:15px;font-weight:600}.field-label em{color:#fff;background:var(--orange);border-radius:4px;margin-left:10px;padding:2px 8px;font-size:12px;font-style:normal}.field input,.field textarea{border:1px solid var(--border);background:var(--bg);border-radius:8px;padding:12px 14px;font-family:inherit;font-size:16px}.field input:focus,.field textarea:focus{border-color:var(--orange);outline:none}.form .btn{align-self:flex-start}.form-thanks{color:var(--text-light);margin-top:24px}.legal h2{margin:32px 0 8px;font-size:18px}.legal p{color:var(--text-light);margin-bottom:8px}.legal-date{margin-top:32px}.footer{background:var(--heading);color:#cfc8c0;padding:28px 0}.footer-inner{justify-content:space-between;align-items:center;font-size:14px;display:flex}.footer-nav{gap:20px;display:flex}.footer-nav a:hover{color:var(--orange)}@media (width<=768px){.cards{grid-template-columns:1fr}.hero{padding:64px 0}.hero-title{font-size:28px}.header-inner{flex-direction:column;gap:8px;height:auto;padding-top:12px;padding-bottom:12px}.nav{gap:18px}.footer-inner{flex-direction:column;gap:12px}}
