:root{--green:#0f6e56;--green-mid:#1d9e75;--green-tint:#e1f5ee;--ink:#1b2a25;--muted:#6b7a75;--border:#e4e9e7;--band:#f6f8f7;--radius-card:12px}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{color:var(--ink);font-family:var(--font-noto-sans-jp), "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Yu Gothic", Meiryo, system-ui, -apple-system, sans-serif;-webkit-font-smoothing:antialiased;background:#fff;line-height:1.75}.container{max-width:960px;margin:0 auto;padding-left:20px;padding-right:20px}.siteHeader{border-bottom:1px solid var(--border);background:#fff}.headerInner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding-top:14px;padding-bottom:14px;display:flex}.brand{align-items:center;gap:10px;display:flex}.brandName{letter-spacing:.04em;font-size:1rem;font-weight:700}.logoMark{width:auto;height:13px;display:block}.headerNav{align-items:center;gap:16px;font-size:.82rem;display:flex}.headerNav a{color:var(--ink);font-weight:500;text-decoration:none}.headerNav a:hover{color:var(--green)}.section{padding:56px 0}.sectionTitle{font-size:1.4rem;font-weight:700;line-height:1.4}.sectionSub{color:var(--muted);margin-top:10px;font-size:.95rem}.centered{text-align:center}.sectionFootnote{color:var(--muted);margin-top:24px;font-size:.9rem}.ctaButton{background:var(--green);color:#fff;border-radius:999px;align-items:center;gap:8px;padding:14px 30px;font-size:1rem;font-weight:700;text-decoration:none;transition:background .2s;display:inline-flex}.ctaButton:hover{background:var(--green-mid)}.ctaNote{color:var(--muted);margin-top:10px;font-size:.78rem}.hero{padding:56px 0 48px}.eyebrow{color:var(--green);letter-spacing:.18em;font-size:.82rem;font-weight:700}.heroTitle{margin-top:14px;font-size:1.65rem;font-weight:700;line-height:1.5}.brDesktop{display:none}.heroSub{color:var(--muted);max-width:40em;margin-top:16px;font-size:.95rem}.heroCta{margin-top:28px}.photoPlaceholder{border-radius:var(--radius-card);min-height:200px;color:var(--muted);text-align:center;border:1.5px dashed #b8c4c0;justify-content:center;align-items:center;margin-top:36px;padding:16px;font-size:.85rem;display:flex}.serviceList{margin-top:12px;list-style:none}.serviceItem{border-bottom:1px solid var(--border);align-items:flex-start;gap:14px;padding:18px 4px;display:flex}.serviceIcon{background:var(--green-tint);width:42px;height:42px;color:var(--green);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.serviceName{font-size:1rem;font-weight:700}.serviceDesc{color:var(--muted);margin-top:2px;font-size:.88rem}.cardGrid3{grid-template-columns:1fr;gap:16px;margin-top:28px;display:grid}.card{border:1px solid var(--border);border-radius:var(--radius-card);background:#fff;padding:22px 20px}.cardTitle{flex-wrap:wrap;align-items:center;gap:8px;font-size:1rem;font-weight:700;display:flex}.cardDesc{color:var(--muted);margin-top:8px;font-size:.88rem}.cardLink{color:var(--green);align-items:center;gap:6px;margin-top:10px;font-size:.9rem;font-weight:700;text-decoration:none;display:inline-flex}.cardLink:hover{color:var(--green-mid);text-decoration:underline}.badge{color:#92400e;letter-spacing:.05em;background:#fef3c7;border-radius:999px;align-items:center;padding:2px 10px;font-size:.7rem;font-weight:700;display:inline-flex}.greetingBand{background:var(--band)}.greetingInner{text-align:center;flex-direction:column;align-items:center;gap:24px;display:flex}.facePlaceholder{width:120px;height:120px;color:var(--muted);border:1.5px dashed #b8c4c0;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.8rem;display:flex}.faceImage{border-radius:50%;flex-shrink:0;width:120px;height:120px}.workCase{margin-top:28px}.workTitle{font-size:1rem;font-weight:500}.baGrid{grid-template-columns:1fr 1fr;gap:10px;margin-top:12px;display:grid}.baItem{margin:0;position:relative}.baItem img{aspect-ratio:4/3;object-fit:cover;border-radius:12px;width:100%;display:block}.baBadge{z-index:1;color:#fff;background:#2c2c2ab8;border-radius:999px;padding:3px 12px;font-size:.75rem;position:absolute;top:10px;left:10px}.baBadgeAfter{background:#0f6e56}.workDesc{color:var(--muted);margin-top:10px;font-size:.9rem}.greetingBody{color:var(--ink);max-width:36em;margin-top:14px;font-size:.95rem}.pricingSubheading{text-align:center;margin-top:40px;font-size:1.05rem;font-weight:700}.priceCard{background:var(--band);border-radius:var(--radius-card);text-align:center;padding:24px 20px}.priceCardSingle{max-width:420px;margin:16px auto 0}.priceLabel{color:var(--muted);font-size:.85rem}.priceValue{color:var(--green);margin-top:6px;font-size:1.4rem;font-weight:700}.priceGrid{grid-template-columns:1fr;gap:16px;margin-top:16px;display:grid}.pricingNote{text-align:center;color:var(--muted);margin-top:28px;font-size:.82rem}.contactCta{text-align:center;margin-top:36px}.siteFooter{border-top:1px solid var(--border);text-align:center;color:var(--muted);padding:32px 0;font-size:.82rem}.footerSns{color:var(--green);align-items:center;gap:6px;margin-bottom:12px;font-size:.88rem;font-weight:500;text-decoration:none;display:inline-flex}.footerSns:hover{color:var(--green-mid);text-decoration:underline}@media (min-width:768px){.section{padding:72px 0}.sectionTitle{font-size:1.7rem}.headerNav{gap:24px;font-size:.88rem}.hero{padding:80px 0 64px}.heroTitle{font-size:2.3rem}.brDesktop{display:inline}.heroSub{font-size:1.02rem}.serviceList{grid-template-columns:1fr 1fr;column-gap:48px;display:grid}.cardGrid3{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px}.greetingInner{text-align:left;flex-direction:row;gap:40px}.facePlaceholder,.faceImage{width:140px;height:140px}.priceGrid{grid-template-columns:repeat(3,1fr);gap:20px}}
