:root{--ink:#0f172a;--ink-soft:#1e293b;--muted:#64748b;--line:#e2e8f0;--bg:#fff;--bg-soft:#f8fafc;--brand-kakeibo:#06c755;--brand-kakeibo-soft:#e7fbef;--brand-wedding:#8b6f5c;--brand-wedding-soft:#fdf6f0;--brand-golf:#14532d;--brand-golf-soft:#ecfdf3;--max-w:1120px;--radius:14px}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--font-line-seed), -apple-system, BlinkMacSystemFont, "Hiragino Sans", "Noto Sans JP", "Yu Gothic Medium", "Yu Gothic", sans-serif;color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased;letter-spacing:.01em;line-height:1.75}a{color:inherit;text-decoration:none}img,svg{max-width:100%;display:block}.container{max-width:var(--max-w);margin:0 auto;padding:0 24px}.header{z-index:20;-webkit-backdrop-filter:saturate(1.4)blur(10px);border-bottom:1px solid var(--line);background:#ffffffd9;position:sticky;top:0}.header-inner{justify-content:space-between;align-items:center;padding:18px 0;display:flex}.logo{letter-spacing:-.01em;align-items:center;gap:10px;font-size:17px;font-weight:700;display:flex}.logo-mark{background:var(--ink);color:#fff;letter-spacing:0;border-radius:8px;place-items:center;width:28px;height:28px;font-size:13px;font-weight:700;display:grid}.nav{color:var(--muted);gap:32px;font-size:14px;display:flex}.nav a{transition:color .15s}.nav a:hover{color:var(--ink)}@media (max-width:640px){.nav{display:none}}.hero{background:radial-gradient(1200px 500px at 50% -10%, #f0fdf4 0%, transparent 60%), linear-gradient(180deg, #fff 0%, var(--bg-soft) 100%);padding:120px 0 100px}.hero-eyebrow{letter-spacing:.15em;color:var(--muted);text-transform:uppercase;margin-bottom:24px;font-size:12px;display:inline-block}.hero h1{letter-spacing:-.025em;max-width:820px;margin-bottom:28px;font-size:clamp(30px,5vw,56px);font-weight:800;line-height:1.25}.hero h1 em{background:linear-gradient(#0000 65%,#bbf7d0 65%);padding:0 4px;font-style:normal}.hero-lead{color:var(--muted);max-width:620px;margin-bottom:44px;font-size:17px}.hero-actions{flex-wrap:wrap;gap:12px;display:flex}.btn{border:1px solid #0000;border-radius:999px;align-items:center;gap:8px;padding:14px 26px;font-size:14px;font-weight:600;transition:transform .15s,background .15s,border-color .15s;display:inline-flex}.btn-primary{background:var(--ink);color:#fff}.btn-primary:hover{background:var(--ink-soft);transform:translateY(-1px)}.btn-ghost{color:var(--ink);border-color:var(--line);background:#fff}.btn-ghost:hover{border-color:var(--ink)}section{padding:100px 0}section.alt{background:var(--bg-soft)}.section-eyebrow{letter-spacing:.15em;color:var(--muted);text-transform:uppercase;text-align:center;margin-bottom:14px;font-size:12px;display:block}.section-title{text-align:center;letter-spacing:-.02em;margin-bottom:18px;font-size:clamp(26px,3.5vw,36px);font-weight:800}.section-lead{text-align:center;color:var(--muted);max-width:640px;margin:0 auto 64px;font-size:16px}.services{gap:28px;display:grid}.service{border:1px solid var(--line);background:#fff;border-radius:20px;grid-template-columns:1.1fr 1fr;align-items:center;gap:48px;padding:48px;display:grid;position:relative;overflow:hidden}.service:nth-child(2n){grid-template-columns:1fr 1.1fr}.service:nth-child(2n) .service-visual{order:-1}@media (max-width:820px){.service,.service:nth-child(2n){grid-template-columns:1fr;gap:28px;padding:32px}.service:nth-child(2n) .service-visual{order:0}}.service-tag{letter-spacing:.08em;text-transform:uppercase;border-radius:999px;align-items:center;gap:8px;margin-bottom:20px;padding:6px 12px;font-size:12px;font-weight:600;display:inline-flex}.service h3{letter-spacing:-.02em;margin-bottom:14px;font-size:clamp(22px,2.8vw,30px);font-weight:800;line-height:1.3}.service-desc{color:var(--muted);margin-bottom:24px;font-size:15px}.service-features{gap:10px;margin-bottom:28px;list-style:none;display:grid}.service-features li{color:var(--ink-soft);padding-left:24px;font-size:14px;position:relative}.service-features li:before{content:"";opacity:.4;background:currentColor;width:14px;height:2px;position:absolute;top:10px;left:0}.service-link{border:1px solid;border-radius:999px;align-items:center;gap:8px;padding:12px 22px;font-size:14px;font-weight:600;transition:background .15s,color .15s;display:inline-flex}.service-link:hover{background:currentColor}.service-link:hover span{color:#fff}.service-visual{aspect-ratio:4/3;border-radius:14px;place-items:center;padding:32px;font-size:64px;display:grid;position:relative;overflow:hidden}.service-visual:before{content:"";pointer-events:none;background:radial-gradient(circle at 30% 30%,#fff9 0%,#0000 50%);position:absolute;inset:0}.service-visual-text{letter-spacing:-.03em;text-align:center;font-size:clamp(28px,4vw,42px);font-weight:800;line-height:1.2;position:relative}.service.kakeibo .service-tag,.service.kakeibo .service-link{color:var(--brand-kakeibo);background:var(--brand-kakeibo-soft)}.service.kakeibo .service-link{background:0 0}.service.kakeibo .service-visual{color:var(--brand-kakeibo);background:linear-gradient(135deg,#e7fbef 0%,#bbf7d0 100%)}.service.wedding .service-tag,.service.wedding .service-link{color:var(--brand-wedding);background:var(--brand-wedding-soft)}.service.wedding .service-link{background:0 0}.service.wedding .service-visual{color:var(--brand-wedding);background:linear-gradient(135deg,#fdf6f0 0%,#f0e3d4 100%)}.service.golf .service-tag,.service.golf .service-link{color:var(--brand-golf);background:var(--brand-golf-soft)}.service.golf .service-link{background:0 0}.service.golf .service-visual{color:var(--brand-golf);background:linear-gradient(135deg,#ecfdf3 0%,#bbf7d0 100%)}.values{grid-template-columns:repeat(3,1fr);gap:24px;display:grid}@media (max-width:820px){.values{grid-template-columns:1fr}}.value{border:1px solid var(--line);background:#fff;border-radius:16px;padding:32px}.value-num{color:var(--muted);letter-spacing:.1em;margin-bottom:20px;font-size:13px;font-weight:700}.value h4{letter-spacing:-.01em;margin-bottom:12px;font-size:18px;font-weight:700}.value p{color:var(--muted);font-size:14px}.about-grid{grid-template-columns:1fr 1fr;align-items:center;gap:64px;display:grid}@media (max-width:820px){.about-grid{grid-template-columns:1fr;gap:40px}}.about-text h2{letter-spacing:-.02em;margin-bottom:20px;font-size:clamp(24px,3vw,32px);font-weight:800}.about-text p{color:var(--muted);margin-bottom:16px;font-size:15px}.about-stats{grid-template-columns:repeat(2,1fr);gap:28px;display:grid}.about-stat{border:1px solid var(--line);text-align:center;background:#fff;border-radius:14px;padding:28px}.about-stat .num{letter-spacing:-.02em;color:var(--ink);margin-bottom:10px;font-size:36px;font-weight:800;line-height:1}.about-stat .label{color:var(--muted);letter-spacing:.05em;font-size:12px}.contact-card{border:1px solid var(--line);text-align:center;background:#fff;border-radius:20px;max-width:640px;margin:0 auto;padding:48px}.contact-card h2{letter-spacing:-.02em;margin-bottom:16px;font-size:clamp(24px,3vw,32px);font-weight:800}.contact-card p{color:var(--muted);margin-bottom:32px}.contact-card .btn-primary{margin-bottom:28px}.contact-info{border-top:1px solid var(--line);color:var(--muted);text-align:left;gap:12px;padding-top:24px;font-size:14px;display:grid}.contact-info dt{color:var(--ink);letter-spacing:.08em;text-transform:uppercase;font-size:12px;font-weight:600}.contact-info dd{margin-bottom:4px}.footer{background:var(--ink);color:#94a3b8;padding:56px 0 32px;font-size:13px}.footer-top{border-bottom:1px solid #ffffff14;grid-template-columns:1fr 2fr;gap:40px;margin-bottom:32px;padding-bottom:40px;display:grid}@media (max-width:640px){.footer-top{grid-template-columns:1fr;gap:24px}}.footer-brand .logo{color:#fff;margin-bottom:12px}.footer-brand .logo-mark{color:var(--ink);background:#fff}.footer-brand p{color:#94a3b8;font-size:13px}.footer-links{grid-template-columns:repeat(3,1fr);gap:24px;display:grid}@media (max-width:640px){.footer-links{grid-template-columns:repeat(2,1fr)}}.footer-links h5{color:#fff;letter-spacing:.02em;margin-bottom:14px;font-size:13px;font-weight:600}.footer-links ul{gap:8px;list-style:none;display:grid}.footer-links a:hover{color:#fff}.footer-bottom{text-align:center;color:#64748b;font-size:12px}
