:root{--ink:#343830;--green-deep:#2e7344;--green:#558d60;--green-soft:#9bbe98;--cream:#fffbf0;--cream-warm:#fbf2dd;--sand:#f0e3c3;--accent:#d49a4d;--rose:#c87a87}*{box-sizing:border-box;margin:0;padding:0}html,body{background:var(--cream);color:var(--ink);-webkit-font-smoothing:antialiased}body{font-family:Hiragino Mincho ProN,Yu Mincho,serif;line-height:1.95;letter-spacing:.05em}img,svg{display:block;max-width:100%}a{color:inherit;text-decoration:none}section{position:relative;padding:96px 24px;overflow:hidden}.inner{max-width:1000px;margin:0 auto;position:relative;z-index:2}.wave{display:block;width:100%;height:64px}.hero{background:#cff6db;text-align:center;padding:100px 24px 80px}.hero .kicker{font-family:Hiragino Sans,sans-serif;font-size:12px;letter-spacing:.5em;color:var(--green);margin-bottom:16px}.hero h1{font-size:clamp(30px,5vw,52px);color:var(--green-deep);letter-spacing:.1em;font-weight:600;line-height:1.4;margin-bottom:28px}.hero .hero-desc{font-size:16px;color:#3a3a32;max-width:640px;margin:0 auto 48px;line-height:2.1}.hero-services{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;max-width:780px;margin:0 auto}.hs{background:#fff;border-radius:14px;padding:24px 14px;box-shadow:0 4px 18px #2e73441a;border-top:3px solid var(--green-deep)}.hs .jp{font-family:Hiragino Mincho ProN,serif;font-size:22px;color:var(--green-deep);font-weight:700;letter-spacing:.15em;margin-bottom:4px}.hs .en{font-family:Hiragino Sans,sans-serif;font-size:10px;letter-spacing:.3em;color:var(--green-soft);margin-bottom:10px;display:block}.hs .cat{font-family:Hiragino Sans,sans-serif;font-size:12px;color:#555;line-height:1.5}.svc-head{text-align:center;margin-bottom:48px}.svc-head .badge{display:inline-block;font-family:Hiragino Sans,sans-serif;font-size:11px;letter-spacing:.4em;color:#fff;background:var(--green-deep);padding:6px 18px;border-radius:999px;margin-bottom:14px}.svc-head h2{font-size:clamp(28px,4.2vw,42px);color:var(--green-deep);letter-spacing:.12em;font-weight:600;line-height:1.4}.svc-head .en{font-family:Hiragino Sans,sans-serif;font-size:11px;letter-spacing:.5em;color:var(--green);margin-top:10px;display:block}.daichi{background:linear-gradient(180deg,#f0f7ea,#e1ecda)}.daichi-grid{display:grid;grid-template-columns:320px 1fr;gap:44px;align-items:start}.daichi-img{width:100%;aspect-ratio:4/5;background:#e8e0d0;border-radius:18px;overflow:hidden;box-shadow:0 8px 28px #2e734424}.daichi-img img{width:100%;height:100%;object-fit:cover}.features{display:flex;flex-direction:column;gap:16px}.feat{display:grid;grid-template-columns:46px 1fr;gap:16px;align-items:start;background:#fff;border-radius:12px;padding:18px 22px;box-shadow:0 2px 12px #2e734414}.feat .n{background:var(--green-deep);color:#fff;width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:Hiragino Sans,sans-serif;font-weight:700;font-size:15px;margin-top:2px}.feat .t{font-size:15px;color:#333;line-height:1.8;font-family:Hiragino Sans,sans-serif}.feat .t b{color:var(--green-deep);font-weight:700}.feat .t .note{font-size:13px;color:#6a7a6d;display:block;margin-top:4px}.pdf-row{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:40px}.pdf-btn{display:flex;align-items:center;justify-content:center;gap:10px;background:#fff;border:1px solid var(--green-soft);border-radius:999px;padding:14px 18px;font-family:Hiragino Sans,sans-serif;font-size:13px;color:var(--green-deep);font-weight:700;letter-spacing:.1em;transition:all .25s;cursor:pointer}.pdf-btn:hover{background:var(--green-deep);color:#fff;border-color:var(--green-deep)}.pdf-btn svg{width:16px;height:16px;flex-shrink:0}.wakaba{background:var(--cream)}.wakaba-intro{background:#fff;border-radius:16px;padding:36px 40px;margin:0 auto 48px;max-width:820px;box-shadow:0 4px 20px #2e734414;border-left:4px solid var(--green-deep)}.wakaba-intro .lbl{font-family:Hiragino Sans,sans-serif;font-size:12px;color:var(--green);letter-spacing:.3em;font-weight:700;margin-bottom:12px;display:block}.wakaba-intro p{font-family:Hiragino Sans,sans-serif;font-size:15.5px;color:#333;line-height:2.05;margin-bottom:.8em}.wakaba-intro p:last-child{margin-bottom:0}.wakaba-intro b{color:var(--green-deep);font-weight:700}.feature-pill{text-align:center;margin-bottom:56px}.feature-pill .cap{display:inline-block;font-family:Hiragino Sans,sans-serif;font-size:11px;letter-spacing:.4em;color:var(--green-deep);background:#eaf3ed;padding:6px 18px;border-radius:999px;margin-bottom:18px;font-weight:700}.feature-pill p{font-family:Hiragino Sans,sans-serif;font-size:16px;color:#3a3a32;max-width:780px;margin:0 auto;line-height:2.1}.feature-pill b{color:var(--green-deep);font-weight:700}.flow-title{text-align:center;font-family:Hiragino Mincho ProN,serif;font-size:22px;color:var(--green-deep);letter-spacing:.2em;margin-bottom:40px;font-weight:600}.flow{display:flex;flex-direction:column;gap:12px;max-width:720px;margin:0 auto 48px;position:relative}.flow:before{content:"";position:absolute;left:26px;top:30px;bottom:30px;width:2px;background:linear-gradient(180deg,var(--green-soft),transparent);z-index:0}.step{display:grid;grid-template-columns:54px 1fr;gap:20px;align-items:start;background:#fff;border-radius:14px;padding:22px 26px;position:relative;z-index:1;box-shadow:0 2px 14px #2e734412}.step .num{background:var(--green-deep);color:#fff;width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:Hiragino Sans,sans-serif;font-weight:700;font-size:16px}.step .ttl{font-family:Hiragino Sans,sans-serif;font-size:16px;font-weight:700;color:var(--green-deep);margin-bottom:4px}.step .desc{font-family:Hiragino Sans,sans-serif;font-size:14px;color:#444;line-height:1.85}.info-table{background:#fff;border-radius:16px;padding:32px 36px;margin-top:48px;box-shadow:0 3px 18px #2e734414}.info-row{display:grid;grid-template-columns:160px 1fr;gap:20px;padding:14px 0;border-bottom:1px dashed #e5ecde}.info-row:last-child{border-bottom:none}.info-row .lb{font-family:Hiragino Sans,sans-serif;font-size:13px;color:var(--green-deep);font-weight:700;letter-spacing:.2em;padding-top:2px}.info-row .vl{font-family:Hiragino Sans,sans-serif;font-size:14.5px;color:#333;line-height:1.85}.info-row .vl b{color:var(--green-deep)}.tayori{background:linear-gradient(180deg,#fcf5e0,#f2e2bf)}.ta-block{background:#fff;border-radius:20px;padding:44px;margin-bottom:26px;box-shadow:0 6px 28px #6450281a;border-left:6px solid var(--accent);position:relative}.ta-block.pink{border-left-color:var(--rose);background:#fef7f5}.ta-block .mark{position:absolute;top:-18px;left:32px;width:40px;height:40px;background:var(--accent);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:20px;box-shadow:0 3px 10px #d49a4d4d}.ta-block.pink .mark{background:var(--rose);box-shadow:0 3px 10px #c87a874d}.ta-block .cat{font-family:Hiragino Sans,sans-serif;font-size:11px;letter-spacing:.4em;color:var(--accent);margin-bottom:6px;font-weight:700}.ta-block.pink .cat{color:var(--rose)}.ta-block h3{font-family:Hiragino Mincho ProN,serif;font-size:clamp(22px,3vw,28px);color:var(--green-deep);letter-spacing:.12em;font-weight:700;margin-bottom:8px}.ta-block .sub{font-family:Hiragino Mincho ProN,serif;font-size:14px;color:#666;letter-spacing:.1em;margin-bottom:20px}.ta-block .desc{font-family:Hiragino Sans,sans-serif;font-size:15px;color:#3a3a32;line-height:2.05;margin-bottom:24px}.ta-block .desc p{margin-bottom:.6em}.ta-block .desc p:last-child{margin-bottom:0}.ta-info{display:grid;grid-template-columns:140px 1fr;gap:16px 22px;margin-bottom:28px}.ta-info .k{font-family:Hiragino Sans,sans-serif;font-size:12px;color:var(--accent);font-weight:700;letter-spacing:.2em;padding-top:3px;border-left:3px solid var(--accent);padding-left:12px;line-height:1.4}.ta-info .v{font-family:Hiragino Sans,sans-serif;font-size:14px;color:#333;line-height:1.9}.ta-info .v b{color:var(--green-deep);font-weight:700}.ta-info .v ul{list-style:none;padding:0;margin:0}.ta-info .v li{padding-left:1em;position:relative;margin-bottom:4px}.ta-info .v li:before{content:"・";position:absolute;left:0;color:var(--accent)}.ta-btns{display:flex;gap:14px;flex-wrap:wrap;margin-top:20px}.ta-btn{display:inline-flex;align-items:center;gap:10px;background:var(--accent);color:#fff;padding:14px 26px;border-radius:999px;font-family:Hiragino Sans,sans-serif;font-size:13px;font-weight:700;letter-spacing:.15em;transition:background .25s}.ta-btn:hover{background:#b8823a}.ta-btn svg{width:16px;height:16px}.ta-btn.outline{background:#fff;color:var(--accent);border:2px solid var(--accent)}.ta-btn.outline:hover{background:var(--accent);color:#fff}.ta-btn.pink{background:var(--rose)}.ta-btn.pink:hover{background:#a85b67}.ta-btn.pink.outline{background:#fff;color:var(--rose);border:2px solid var(--rose)}.ta-btn.pink.outline:hover{background:var(--rose);color:#fff}.cta-row{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;max-width:900px;margin:56px auto 0}.cta-card{background:#fff;border-radius:16px;padding:32px 20px;text-align:center;box-shadow:0 4px 18px #2e73441a;transition:transform .25s}.cta-card:hover{transform:translateY(-3px)}.cta-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;background:var(--green-deep);color:#fff;padding:14px 28px;border-radius:999px;font-family:Hiragino Sans,sans-serif;font-size:14px;font-weight:700;letter-spacing:.15em;min-width:200px;transition:background .25s}.cta-btn:hover{background:#245a36}.cta-btn svg{width:16px;height:16px}.cta-sub{font-family:Hiragino Sans,sans-serif;font-size:13px;color:#666;margin-top:14px;line-height:1.7}.cta-sub .tel{display:block;font-family:Hiragino Mincho ProN,serif;font-size:22px;color:var(--green-deep);font-weight:700;letter-spacing:.08em;margin-bottom:4px}@media(max-width:760px){section{padding:64px 20px}.hero{padding:72px 20px 56px}.hero-services{grid-template-columns:1fr;gap:14px}.daichi-grid{grid-template-columns:1fr;gap:32px}.daichi-img{max-width:260px;margin:0 auto;aspect-ratio:1/1}.pdf-row{grid-template-columns:repeat(2,1fr)}.wakaba-intro{padding:28px 24px}.info-table{padding:24px 20px}.info-row{grid-template-columns:1fr;gap:4px;padding:14px 0}.ta-block{padding:34px 24px}.ta-info{grid-template-columns:1fr;gap:4px 0}.ta-info .k{border-left:none;border-bottom:2px solid var(--accent);padding:0 0 4px;margin-top:14px}.ta-btns{flex-direction:column}.ta-btn{justify-content:center;width:100%}.cta-row{grid-template-columns:1fr;gap:16px}.wave{height:40px}.flow:before{left:22px}.step{grid-template-columns:44px 1fr;gap:14px;padding:18px 20px}.step .num{width:34px;height:34px;font-size:14px}}
