:root{--green:#078c45;--green-dark:#056b36;--linegreen:#06c755;--light:#eef8f2;--soft:#f7faf8;--yellow:#ffea57;--ink:#162019;--muted:#5d6861;--line:#d8e3dc;--white:#fff;--shadow:0 12px 32px rgba(0,0,0,.10);--radius:20px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Yu Gothic","Hiragino Kaku Gothic ProN",Meiryo,sans-serif;color:var(--ink);line-height:1.75;background:#fff;padding-bottom:88px}img{max-width:100%;display:block}button,a{font:inherit}.container{width:min(1080px,calc(100% - 32px));margin:auto}.container--narrow{width:min(840px,calc(100% - 32px))}
.hero{position:relative;min-height:740px;display:grid;place-items:center;text-align:center;color:#fff;overflow:hidden}.hero__image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 58%}.hero__overlay{position:absolute;inset:0;background:linear-gradient(rgba(0,0,0,.55),rgba(0,0,0,.72))}.hero__content{position:relative;z-index:1;padding:52px 0 88px}.hero__eyebrow{font-weight:900;font-size:clamp(1rem,1.7vw,1.28rem);margin:0 0 14px}.hero h1{margin:0;text-shadow:0 4px 14px rgba(0,0,0,.5);line-height:1.13}.hero__line{display:block;white-space:nowrap;margin-inline:auto}.hero__line--one{font-size:clamp(2rem,4.5vw,3.8rem)}.hero__line--two{font-size:clamp(2.2rem,5vw,4.3rem);font-weight:900;margin-top:8px}.hero__sub{font-size:clamp(1.08rem,2.3vw,1.5rem);font-weight:900;margin:20px 0 10px}.rating-badge{display:inline-block;background:rgba(255,255,255,.96);color:#333;padding:8px 18px;border-radius:999px;margin:8px 0 12px;font-weight:800}.trust-row{display:flex;justify-content:center;flex-wrap:wrap;margin-bottom:24px;font-weight:800}.trust-row span{padding:0 14px;border-right:1px solid rgba(255,255,255,.7)}.trust-row span:last-child{border:0}.hero-actions,.final-actions{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}.cta{border:0;display:flex;align-items:center;justify-content:center;gap:10px;width:min(470px,100%);min-height:66px;padding:14px 24px;border-radius:999px;background:var(--green);color:#fff;text-decoration:none;font-weight:900;font-size:1.16rem;box-shadow:0 10px 24px rgba(0,100,50,.25)}.cta img{width:28px;height:28px;object-fit:contain;filter:brightness(0) invert(1)}.cta--line{background:var(--linegreen)}
.section{padding:76px 0}.section--soft{background:var(--soft)}.section h2,.solution h2,.final-cta h2{text-align:center;font-size:clamp(1.8rem,4vw,2.75rem);line-height:1.35;margin:0 0 38px}.section h2:after{content:"";display:block;width:72px;height:5px;background:var(--yellow);margin:14px auto 0;border-radius:99px}.problem-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.problem-card{display:flex;align-items:center;gap:14px;padding:22px;background:#fff;border:2px solid var(--line);border-radius:var(--radius)}.problem-card span{flex:0 0 44px;height:44px;border-radius:50%;display:grid;place-items:center;background:var(--light);color:var(--green);font-weight:900}.problem-card p{margin:0;font-weight:800}.solution{background:linear-gradient(90deg,#fff8dc,#fff);padding:48px 0;border-block:1px solid #ede2b5}.solution__inner{display:flex;align-items:center;justify-content:center;gap:26px}.solution__mark{width:82px;height:82px;flex:0 0 82px;border-radius:50%;display:grid;place-items:center;background:var(--green);font-size:2.8rem;color:#fff}.solution h2{text-align:left;margin:0 0 8px}.solution p{margin:0;max-width:760px}.reason-grid,.license-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.reason-card,.license-card{padding:28px 22px;text-align:center;border:2px solid var(--line);border-radius:var(--radius);background:#fff}.reason-card__icon{width:76px;height:76px;border-radius:50%;display:grid;place-items:center;margin:0 auto 14px;background:var(--light)}.reason-card__icon img{width:46px;height:46px;object-fit:contain}.reason-card h3,.license-card h3{margin:0 0 8px}.reason-card p,.license-card p{margin:0;color:var(--muted)}.price-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.price-card{position:relative;text-align:center;padding:32px 22px;border:2px solid var(--line);border-radius:var(--radius);background:#fff}.price-card--featured{border-color:var(--green);box-shadow:var(--shadow);transform:scale(1.03)}.price-card__badge{position:absolute;top:-15px;left:50%;transform:translateX(-50%);padding:6px 19px;border-radius:99px;background:var(--green);color:#fff;font-weight:900}.price-card__name{font-size:1.55rem;font-weight:900;margin:0}.price-card__caption{color:var(--muted);margin:3px 0 12px}.price-card__price{color:var(--green-dark);font-weight:900;margin:0}.price-card__price strong{font-size:2.65rem}.note{text-align:center;color:var(--muted);font-size:.9rem;margin:20px auto 0;max-width:880px}.work-list{display:grid;gap:24px}.work-card{display:grid;grid-template-columns:minmax(300px,42%) 1fr;gap:28px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:0 8px 26px rgba(0,0,0,.06)}.work-card img{width:100%;height:340px;object-fit:cover}.work-card>div{padding:26px 30px 26px 0}.label{display:inline-block;padding:5px 13px;border-radius:99px;background:var(--light);color:var(--green-dark);font-weight:900;margin:0 0 8px}.work-card h3{font-size:1.48rem;margin:0 0 14px}.work-card dl{margin:0}.work-card dl div{display:grid;grid-template-columns:100px 1fr;border-top:1px solid var(--line);padding:9px 0}.work-card dt{font-weight:900}.work-card dd{margin:0;color:var(--muted)}.case-block{margin-top:58px}.case-head{text-align:center;margin-bottom:20px}.case-head h3{font-size:1.75rem;color:var(--green-dark);margin:0 0 5px}.case-head p{margin:0}.ba-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.ba-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:14px}.ba-card__pair{display:grid;grid-template-columns:1fr auto 1fr;gap:10px;align-items:center}.ba-card figure{position:relative;margin:0;overflow:hidden;border-radius:13px}.ba-card img{aspect-ratio:1/1;object-fit:cover}.ba-card figcaption{position:absolute;top:8px;left:8px;background:rgba(0,0,0,.68);color:#fff;padding:3px 8px;border-radius:99px;font-size:.76rem;font-weight:900}.ba-card__pair>span{font-size:2rem;color:var(--green);font-weight:900}.reviews-score{text-align:center;font-size:1.3rem;margin:-18px 0 30px}.reviews-score strong{font-size:2.2rem;color:var(--ink)}.review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.review-card{background:#fff;padding:24px;border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 7px 22px rgba(0,0,0,.06)}.review-person{display:flex;align-items:center;gap:10px;margin-bottom:10px;font-weight:900}.review-person img{width:42px;height:42px;object-fit:contain;border-radius:50%;background:var(--light);padding:4px}.review-card .stars{font-size:1.15rem;letter-spacing:2px;margin:0 0 10px}.review-card h3{font-size:1.12rem;line-height:1.55;margin:0 0 12px}.review-card p{color:var(--muted);margin:0}.center{text-align:center;margin-top:24px}.text-link{color:var(--green-dark);font-weight:900}.license-grid{grid-template-columns:repeat(2,1fr)}.area-lead,.area-note,.map-address{text-align:center}.area-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:24px}.area-grid div{padding:24px;text-align:center;background:#fff;border:2px solid var(--line);border-radius:var(--radius);font-weight:900;color:var(--green-dark);font-size:1.25rem}.area-note{max-width:760px;margin:24px auto 0;color:var(--muted)}.map-wrap{width:100%;max-width:1080px;margin:0 auto;border-radius:20px;overflow:hidden;box-shadow:var(--shadow)}.map-wrap iframe{display:block;width:100%;height:440px;border:0}.flow{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,1fr);gap:14px}.flow li{position:relative;background:#fff;border:2px solid var(--line);border-radius:var(--radius);padding:22px 12px;text-align:center}.flow li:not(:last-child):after{content:"›";position:absolute;right:-15px;top:50%;transform:translateY(-50%);color:var(--green);font-size:2rem;font-weight:900}.flow span{width:38px;height:38px;display:grid;place-items:center;border-radius:50%;background:var(--green);color:#fff;font-weight:900;margin:0 auto 10px}.flow strong,.flow small{display:block}.flow small{color:var(--muted);margin-top:5px}.faq{display:grid;gap:12px}.faq details{background:#fff;border:1px solid var(--line);border-radius:14px;padding:0 20px}.faq summary{cursor:pointer;font-weight:900;padding:18px 34px 18px 0;position:relative;list-style:none}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:"＋";position:absolute;right:0;top:50%;transform:translateY(-50%);color:var(--green);font-size:1.4rem}.faq details[open] summary:after{content:"−"}.faq p{margin:0;padding:0 0 18px;color:var(--muted)}.section--representative{background:#fffdf3}.representative{display:grid;grid-template-columns:300px 1fr;gap:48px;align-items:center}.representative img{width:100%;max-height:430px;object-fit:cover;object-position:center 20%;border-radius:var(--radius);box-shadow:var(--shadow)}.representative h2{text-align:left;margin-bottom:15px}.representative h2:after{margin-left:0}.representative h3{font-size:1.35rem}.representative p{margin:0 0 11px}.signature{font-weight:900;color:var(--green-dark)}.final-cta{padding:64px 0 118px;background:linear-gradient(135deg,var(--green-dark),var(--green));color:#fff;text-align:center}.final-cta__lead{font-weight:900;font-size:1.2rem;margin:0}.final-cta h2{margin-bottom:15px}.final-cta__note{max-width:760px;margin:0 auto 22px}.cta--final{background:#fff;color:var(--green-dark)}.cta--final img{filter:none}.cta--final-line{background:var(--linegreen)}.phone-number{display:block;font-size:clamp(2.1rem,6vw,3.5rem);font-weight:900;text-decoration:none;margin-top:22px;color:#fff}.sticky-contact{display:grid;grid-template-columns:1fr 1fr;position:fixed;left:0;right:0;bottom:0;z-index:9999;padding:7px 8px calc(7px + env(safe-area-inset-bottom));background:rgba(255,255,255,.98);border-top:1px solid #ddd;box-shadow:0 -5px 20px rgba(0,0,0,.15);gap:7px}.sticky-contact a{min-height:64px;border-radius:16px;color:#fff;text-decoration:none;padding:8px 10px;display:flex;align-items:center;justify-content:center;gap:9px}.sticky-contact__phone{background:var(--green)}.sticky-contact__line{background:var(--linegreen)}.sticky-contact img{width:28px;height:28px;filter:brightness(0) invert(1)}.sticky-contact span span,.sticky-contact strong,.sticky-contact small{display:block}.sticky-contact small{font-size:.75rem}.line-word{font-weight:1000;font-size:1.1rem}
@media(max-width:800px){body{padding-bottom:84px}.container{width:min(100% - 24px,680px)}.hero{min-height:690px}.hero__content{padding:38px 0 78px}.hero__eyebrow{font-size:.95rem;white-space:nowrap}.hero__line--one{font-size:clamp(1.35rem,6.6vw,2rem);letter-spacing:-.03em}.hero__line--two{font-size:clamp(1.75rem,8vw,2.5rem);letter-spacing:-.035em;margin-top:6px}.hero__sub{font-size:1.02rem}.rating-badge{font-size:.88rem}.trust-row{font-size:.83rem}.trust-row span{padding:0 8px}.hero-actions{gap:10px}.hero-actions .cta{min-height:58px;font-size:1rem}.section{padding:56px 0}.problem-grid,.reason-grid,.price-grid,.ba-grid,.review-grid,.license-grid,.area-grid{grid-template-columns:1fr}.solution__inner{align-items:flex-start;gap:16px}.solution__mark{width:58px;height:58px;flex-basis:58px;font-size:2rem}.solution h2{font-size:1.55rem}.price-card--featured{transform:none}.work-card{grid-template-columns:1fr;gap:0}.work-card img{height:270px}.work-card>div{padding:22px}.ba-card__pair{gap:6px}.ba-card__pair>span{font-size:1.5rem}.map-wrap iframe{height:360px}.flow{grid-template-columns:1fr}.flow li:not(:last-child):after{content:"⌄";right:auto;left:50%;top:auto;bottom:-28px;transform:translateX(-50%)}.representative{grid-template-columns:110px 1fr;gap:18px;align-items:start}.representative img{max-height:190px}.representative h2{font-size:1.55rem}.representative h3,.representative p{grid-column:1/-1}.sticky-contact a{min-height:60px}.sticky-contact strong{font-size:.92rem}.sticky-contact small{font-size:.68rem}}
@media(max-width:390px){.hero__eyebrow{font-size:.84rem}.hero__line--one{font-size:1.25rem}.hero__line--two{font-size:1.72rem}.trust-row{font-size:.76rem}.sticky-contact strong{font-size:.82rem}.sticky-contact small{font-size:.62rem}}

.star-row{color:#f4b400!important;letter-spacing:2px;white-space:nowrap;font-family:Arial,sans-serif;font-weight:900}.reason-card__icon img,.review-person img,.cta img,.sticky-contact img{display:block;object-fit:contain}

