
:root{--ink:#20312f;--muted:#667573;--paper:#f7f8f4;--white:#fff;--accent:#86a89c;--accent2:#dfeae5;--line:#dce4e0;--max:1120px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:"Noto Sans JP","Hiragino Kaku Gothic ProN",Meiryo,sans-serif;color:var(--ink);background:var(--paper);line-height:1.9}a{color:inherit;text-decoration:none}.wrap{width:min(92%,var(--max));margin:auto}
header{position:sticky;top:0;z-index:20;background:rgba(247,248,244,.94);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.nav{min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:24px}.logo{font-weight:800;letter-spacing:.06em}.logo small{display:block;font-size:10px;letter-spacing:.16em;color:var(--muted);font-weight:500}.menu{display:flex;gap:20px;align-items:center;font-size:14px}.menu a:hover{color:#5d8175}.cta{background:var(--ink);color:#fff!important;padding:9px 18px;border-radius:999px}.hamb{display:none;border:0;background:none;font-size:26px}
.hero{padding:92px 0 82px;background:linear-gradient(135deg,#f7f8f4 0%,#e9f0eb 100%)}.hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:56px;align-items:center}.eyebrow{color:#65877b;font-size:13px;font-weight:700;letter-spacing:.16em}.hero h1{font-size:clamp(34px,5vw,64px);line-height:1.25;margin:15px 0 22px;letter-spacing:.03em}.hero p{color:var(--muted);font-size:17px}.buttons{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}.btn{display:inline-block;padding:12px 24px;border-radius:999px;background:var(--ink);color:#fff}.btn.alt{background:transparent;color:var(--ink);border:1px solid #b9c8c3}
.visual{min-height:390px;border-radius:34px;background:linear-gradient(145deg,#b8cec5,#e7eeea);position:relative;overflow:hidden;box-shadow:0 20px 50px rgba(32,49,47,.12)}.visual:before{content:"";position:absolute;width:230px;height:230px;border-radius:50%;background:#f5f0e6;right:-50px;top:-40px}.visual:after{content:"";position:absolute;width:180px;height:180px;border-radius:28px;background:rgba(255,255,255,.45);left:42px;bottom:42px;transform:rotate(-10deg)}
section{padding:84px 0}.section-head{max-width:700px;margin-bottom:42px}.section-head h2{font-size:36px;line-height:1.4;margin:8px 0 14px}.section-head p{color:var(--muted)}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.card{background:var(--white);border:1px solid var(--line);border-radius:22px;padding:28px;box-shadow:0 10px 28px rgba(32,49,47,.04)}.card h3{margin-top:0;font-size:20px}.card p{color:var(--muted);font-size:14px}.num{font-size:12px;color:#6f9085;letter-spacing:.15em}.band{background:var(--accent2)}.split{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start}.quote{font-size:28px;line-height:1.6}.list{padding:0;margin:0;list-style:none}.list li{padding:12px 0;border-bottom:1px solid var(--line)}.price{font-size:24px;font-weight:800}.table{width:100%;border-collapse:collapse;background:#fff;border-radius:18px;overflow:hidden}.table th,.table td{text-align:left;padding:16px;border-bottom:1px solid var(--line)}.table th{background:#edf3ef}
.page-hero{padding:70px 0;background:#e9f0eb}.page-hero h1{font-size:46px;margin:8px 0}.page-hero p{max-width:760px;color:var(--muted)}.article{max-width:820px;margin:auto}.article h2{font-size:28px;margin-top:48px}.article p{color:#50615e}.faq details{background:#fff;border:1px solid var(--line);border-radius:16px;margin:12px 0;padding:18px 22px}.faq summary{cursor:pointer;font-weight:700}.contact{display:grid;grid-template-columns:.8fr 1.2fr;gap:36px}.form{background:#fff;padding:32px;border-radius:24px;border:1px solid var(--line)}label{display:block;font-weight:700;font-size:14px;margin:15px 0 7px}input,select,textarea{width:100%;padding:13px;border:1px solid #cdd8d4;border-radius:10px;font:inherit;background:#fff}textarea{min-height:150px}.notice{font-size:12px;color:var(--muted)}
footer{background:#1e2e2c;color:#eaf0ed;padding:55px 0 25px}.foot{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:35px}.foot p,.foot a{color:#b9c7c3;font-size:13px}.foot h4{margin-top:0}.copy{border-top:1px solid rgba(255,255,255,.12);margin-top:35px;padding-top:20px;color:#91a19d;font-size:12px}
.cookie{position:fixed;left:18px;right:18px;bottom:18px;z-index:50;background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px 20px;box-shadow:0 16px 40px rgba(0,0,0,.14);display:flex;gap:18px;align-items:center;justify-content:space-between}.cookie p{margin:0;font-size:13px;color:var(--muted)}.cookie button{border:0;border-radius:999px;background:var(--ink);color:#fff;padding:10px 18px;cursor:pointer}
@media(max-width:820px){.menu{display:none;position:absolute;left:0;right:0;top:76px;background:var(--paper);padding:18px 4%;flex-direction:column;align-items:flex-start;border-bottom:1px solid var(--line)}.menu.open{display:flex}.hamb{display:block}.hero-grid,.split,.contact{grid-template-columns:1fr}.cards{grid-template-columns:1fr}.visual{min-height:260px}.page-hero h1{font-size:36px}.foot{grid-template-columns:1fr}.cookie{flex-direction:column;align-items:flex-start}}

.service-showcase{padding:92px 0;background:#fff}
.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.service-photo-card{background:#f7f8f4;border:1px solid var(--line);border-radius:26px;overflow:hidden;box-shadow:0 14px 34px rgba(32,49,47,.06)}
.service-photo-card img{display:block;width:100%;height:270px;object-fit:cover}
.service-card-body{padding:25px 25px 29px}
.service-card-body h3{font-size:23px;margin:10px 0 12px}
.service-card-body p{font-size:14px;color:var(--muted);margin:0 0 18px}
.text-link{font-size:14px;font-weight:700;color:#55786d}
@media(max-width:820px){.service-grid{grid-template-columns:1fr}.service-photo-card img{height:240px}}
