:root{--ink:#142a27;--green:#17433c;--green2:#24584e;--lime:#d8f06b;--paper:#f5f6ef;--white:#fff;--muted:#5e7068;--line:#dce5dc;--soft:#e9efe5;--shadow:0 17px 44px rgba(21,50,41,.085);--radius:19px}
*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:95px}body{margin:0;background:var(--paper);color:var(--ink);font-family:"Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;line-height:1.8;-webkit-font-smoothing:antialiased}a{text-decoration:none;color:inherit}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #b9d743;outline-offset:3px}button,input,textarea{font:inherit}button{cursor:pointer}img{max-width:100%;height:auto;display:block}h1,h2,h3,p{overflow-wrap:anywhere}.container{width:min(1160px,calc(100% - 48px));margin:auto}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.skip-link{position:absolute;z-index:100;top:-55px;left:12px;background:white;padding:10px}.skip-link:focus{top:10px}
.topstrip{background:#0f2722;color:#e7efe7;font-size:11px;letter-spacing:.03em}.topstrip>.container{display:flex;align-items:center;justify-content:space-between;gap:15px;min-height:36px}.topstrip strong{color:var(--lime)}.header{position:sticky;top:0;z-index:30;background:rgba(255,255,255,.975);border-bottom:1px solid #eff0e9;box-shadow:0 2px 14px rgba(11,34,26,.035);backdrop-filter:blur(15px)}.header-row{display:flex;align-items:center;min-height:82px;justify-content:space-between;gap:15px}.brand{display:flex;align-items:center;gap:11px;min-width:0;flex-shrink:0}.brand-symbol{display:grid;place-items:center;flex-shrink:0;width:46px;height:46px;border-radius:13px;background:var(--green);color:var(--lime);font-size:22px;font-weight:900;transform:rotate(-3deg)}.brand-name{font-weight:900;font-size:21px;letter-spacing:-.04em;line-height:1.25}.brand-name small{display:block;color:var(--muted);font-size:9px;letter-spacing:.22em;margin-top:4px;font-weight:700}.nav{display:flex;align-items:center;gap:20px;font-size:12px;font-weight:800}.nav a:not(.nav-call):hover{color:#6b873a}.nav-call{display:flex;align-items:center;gap:9px;padding:10px 17px;border-radius:9px;background:var(--lime);font-size:14px;white-space:nowrap}.nav-call svg{width:17px;height:17px}.mobile-nav{display:none}
.hero{background:radial-gradient(circle at 87% 27%,#27574d 0%,transparent 37%),linear-gradient(130deg,#183e36 0%,#102d29 64%,#0f2b26 100%);color:white;position:relative;overflow:hidden}.hero:before{content:"";position:absolute;right:-220px;top:-285px;border:1px solid #ffffff21;width:820px;height:820px;border-radius:50%;box-shadow:0 0 0 85px #ffffff09,0 0 0 172px #ffffff07}.hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:1.1fr .9fr;gap:30px;align-items:center;padding:73px 0 65px}.eyebrow{display:inline-flex;align-items:center;gap:9px;font-size:12px;font-weight:800;letter-spacing:.13em;color:var(--lime)}.eyebrow:before{content:"";background:var(--lime);height:2px;width:27px}.hero h1{font-size:clamp(37px,4.8vw,65px);letter-spacing:-.052em;line-height:1.34;margin:16px 0 21px;font-weight:900}.hero h1 em{font-style:normal;color:var(--lime)}.hero-copy{font-size:15px;color:#dcebe4;max-width:565px;margin:0}.hero-tags{display:flex;flex-wrap:wrap;gap:8px;margin:24px 0 28px}.hero-tags span{border:1px solid #ffffff55;border-radius:40px;color:#f2fbf4;padding:6px 12px;font-size:11px;font-weight:700}.action-row{display:flex;align-items:center;flex-wrap:wrap;gap:12px}.button{display:inline-flex;align-items:center;justify-content:center;gap:10px;text-align:center;border:0;background:var(--lime);color:#142a27;font-weight:900;padding:16px 22px;border-radius:9px;box-shadow:0 4px 0 #aac84d;transition:transform .2s,box-shadow .2s}.button:hover{transform:translateY(-2px);box-shadow:0 6px 0 #aac84d}.button svg{width:20px;height:20px}.button-outline{display:inline-flex;align-items:center;justify-content:center;border:1px solid #ffffff85;color:white;padding:14px 19px;font-size:13px;border-radius:9px;font-weight:800}.button-outline:hover{background:#ffffff18}.hero-phone-note{margin:17px 0 0;color:#d3e4dc;font-size:11px}.hero-phone-note b{font-size:16px;white-space:nowrap;color:white}.hero-visual{min-height:445px;display:grid;place-items:center;position:relative}.hero-circle{position:absolute;width:370px;height:370px;max-width:95%;border:1px solid #a5c1a240;border-radius:50%;background:radial-gradient(circle,#d8f06b18 0%,transparent 69%)}.hero-circle:before,.hero-circle:after{content:"";position:absolute;inset:30px;border:1px solid #ffffff22;border-radius:50%}.hero-circle:after{inset:-45px}.hero-svg{position:relative;width:min(100%,455px);filter:drop-shadow(16px 24px 20px #071c1990)}.visual-sticker{position:absolute;right:-4px;bottom:38px;background:white;color:var(--green);padding:13px 15px;border-radius:12px;font-size:12px;font-weight:900;box-shadow:0 14px 38px #092c2360}.visual-sticker strong{display:block;font-size:18px;line-height:1.4}.trust-ribbon{background:var(--lime)}.trust-list{min-height:55px;display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;padding:11px 0;color:#203830;font-size:12px;font-weight:900}.trust-list span{display:inline-flex;align-items:center;gap:8px}.trust-list span:before{content:"✓";display:grid;place-items:center;background:#17433c;color:#d8f06b;width:19px;height:19px;border-radius:50%;font-size:11px}
.section{padding:89px 0}.section.alt{background:#eaf0e6}.section.white{background:white}.section-title{max-width:690px;margin:0 auto 40px;text-align:center}.kicker{font-size:11px;letter-spacing:.20em;font-weight:900;color:#648334;text-transform:uppercase}.section h2,.article h2{font-size:clamp(28px,3.2vw,40px);line-height:1.48;letter-spacing:-.04em;margin:8px 0 12px}.section-title p,.lead{font-size:14px;color:var(--muted);margin:0}.service-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px}.service-card{background:white;border:1px solid var(--line);border-radius:var(--radius);padding:23px 20px;display:flex;flex-direction:column;min-height:260px;box-shadow:0 6px 19px rgba(25,57,45,.03);transition:transform .2s,box-shadow .2s}.service-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}.service-icon{display:grid;place-items:center;width:50px;height:50px;background:#f1f7de;border-radius:13px;margin-bottom:14px;color:var(--green)}.service-icon svg{width:27px;height:27px}.service-card h3{font-size:18px;margin:0 0 7px}.service-card p{color:var(--muted);font-size:12px;margin:0 0 18px}.service-card .service-price{margin-top:auto;color:var(--green);font-weight:900;font-size:24px;line-height:1.4;letter-spacing:-.04em}.service-price small{font-size:11px;font-weight:600;letter-spacing:0;color:var(--muted)}.notice{font-size:11px;color:var(--muted);margin:17px 0 0;text-align:right}.soft-panel{padding:18px 20px;background:#f4f7ef;border-radius:10px;border:1px solid #dce8d5;color:#52695e;font-size:12px;margin-top:24px}.maker-strip{background:white;padding:20px 0;border-bottom:1px solid var(--line)}.maker-inner{display:flex;align-items:center;gap:20px}.maker-label{flex:0 0 auto;color:var(--muted);font-size:10px;font-weight:800;letter-spacing:.11em}.maker-items{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 20px;flex:1}.maker-items span{font-weight:900;color:#789084;letter-spacing:.035em;font-size:16px}.maker-note{color:#7b8c84;font-size:10px}
.about-grid{display:grid;grid-template-columns:.89fr 1.11fr;gap:60px;align-items:center}.about-visual{border-radius:24px;min-height:390px;background:linear-gradient(145deg,#20463f,#13312b);position:relative;overflow:hidden;display:grid;place-items:center}.about-visual:after{content:"";position:absolute;width:490px;height:490px;border-radius:50%;border:1px solid #ffffff1f}.about-illustration{width:80%;max-width:355px;position:relative;z-index:1}.about-float{position:absolute;z-index:2;left:24px;bottom:24px;background:#fff;padding:12px 17px;border-radius:10px;font-size:12px;font-weight:900}.about-float span{display:block;color:#647870;font-weight:500;font-size:10px}.about-copy h2{margin-bottom:20px}.about-copy p{font-size:14px;color:#536a60;margin:0 0 14px}.about-items{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:24px}.about-items div{background:#fff;border:1px solid var(--line);padding:14px 15px;border-radius:10px;font-size:12px;font-weight:800}.about-items div:before{content:"✓";margin-right:8px;color:#668c3b;font-weight:900}.three-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.step-card{background:#fff;padding:26px 24px;border-radius:15px;border:1px solid var(--line);position:relative}.step-no{display:inline-block;font-weight:900;font-size:36px;line-height:1;color:#c5d99e}.step-card h3{font-size:17px;margin:18px 0 8px}.step-card p{font-size:13px;color:var(--muted);margin:0}.step-card:after{content:"→";position:absolute;right:-19px;top:50%;color:#7c974c;font-size:23px;font-weight:900;z-index:1}.step-card:last-child:after{display:none}
.special-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}.special-card{overflow:hidden;border-radius:16px;background:white;border:1px solid var(--line)}.special-art{height:180px;background:#e5eee5;display:grid;place-items:center;position:relative;overflow:hidden}.special-art svg{width:min(82%,250px);height:150px;filter:drop-shadow(0 8px 5px #294b3714)}.special-card:nth-child(2) .special-art{background:#dce8dd}.special-card:nth-child(3) .special-art{background:#e8e9dd}.special-copy{padding:22px}.special-copy .num{color:#6a883a;font-size:10px;letter-spacing:.15em;font-weight:900}.special-copy h3{margin:8px 0;font-size:17px}.special-copy p{font-size:12px;color:var(--muted);margin:0}.quality-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.quality-item{text-align:center;padding:25px 12px;background:#fff;border-radius:13px;border:1px solid var(--line)}.quality-item strong{display:block;font-size:16px;margin-bottom:6px}.quality-item span{font-size:12px;color:var(--muted)}.quality-item svg{width:29px;height:29px;color:#73963a;margin-bottom:10px}
.area-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}.area-art{min-height:350px;border-radius:23px;background:var(--green);position:relative;overflow:hidden;display:grid;place-items:center;color:white;text-align:center}.area-art:before,.area-art:after{content:"";position:absolute;width:330px;height:330px;border:1px solid #ffffff24;border-radius:50%}.area-art:after{width:475px;height:475px}.area-art-main{z-index:1;position:relative}.area-art-main .map-pin{font-size:58px;color:var(--lime);line-height:1.2}.area-art-main strong{font-size:37px;line-height:1.4;display:block}.area-art-main small{letter-spacing:.19em;font-size:11px;color:var(--lime)}.area-list{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:23px}.area-item{background:white;border:1px solid var(--line);padding:12px 13px;border-radius:10px;font-weight:900;font-size:13px}.area-item small{display:block;font-weight:500;color:var(--muted);font-size:10px;margin-top:3px}.wards{margin-top:29px;padding:22px 24px;border:1px solid var(--line);background:#fff;border-radius:13px}.wards h3{font-size:14px;margin:0 0 9px}.wards p{font-size:12px;color:var(--muted);margin:0;line-height:2}
.faq-list{max-width:830px;margin:auto}.faq-list details{border:1px solid var(--line);border-radius:11px;background:white;margin-bottom:10px;overflow:hidden}.faq-list summary{list-style:none;cursor:pointer;position:relative;padding:20px 60px 20px 24px;font-weight:800;font-size:14px}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary:before{content:"Q";display:inline-grid;place-items:center;margin-right:11px;background:#eaf2ce;color:var(--green);width:25px;height:25px;border-radius:8px;font-weight:900}.faq-list summary:after{content:"＋";font-size:18px;font-weight:500;position:absolute;right:24px;top:20px;color:#547a36}.faq-list details[open] summary:after{content:"−"}.faq-answer{border-top:1px solid #f0f2ec;padding:17px 25px 20px;font-size:13px;color:var(--muted)}.faq-answer p{margin:0}
.contact-section{padding:85px 0;background:#122e29;color:white}.contact-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:50px;align-items:start}.contact-section h2{font-size:clamp(26px,3.3vw,39px);line-height:1.45;letter-spacing:-.04em;margin:10px 0 13px}.contact-section p{color:#c1d4c9;font-size:13px}.contact-phone{font-size:clamp(30px,4.1vw,47px);font-weight:900;color:var(--lime);letter-spacing:-.02em;white-space:nowrap}.contact-phone:hover{text-decoration:underline}.faq-disclaimer{margin-top:13px;font-size:11px;color:var(--muted)}
.columns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.column-card{display:block;border-radius:14px;overflow:hidden;border:1px solid var(--line);background:#fff;transition:transform .2s,box-shadow .2s}.column-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}.column-art{height:107px;display:grid;place-items:center;font-size:39px;color:#245a43;background:linear-gradient(125deg,#e6eddc,#f4f6ec)}.column-card:nth-child(2n) .column-art{background:linear-gradient(125deg,#d9e6dd,#ecf3df)}.column-card .column-copy{padding:16px 17px}.column-copy small{color:#738a4d;font-size:10px;font-weight:900}.column-copy strong{display:block;font-size:14px;line-height:1.6;margin-top:4px}.column-copy span{font-size:10px;color:var(--muted)}.columns-more{text-align:center;margin-top:28px}.text-link{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--green);border-radius:8px;padding:11px 18px;font-weight:800;font-size:13px}.text-link:hover{background:var(--green);color:#fff}
.company{padding:68px 0;background:white}.company-row{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center}.company h2{font-size:30px;margin:8px 0 15px}.company p{font-size:13px;color:var(--muted);margin:0}.company-info{border:1px solid var(--line);border-radius:13px;overflow:hidden}.company-info div{display:grid;grid-template-columns:130px 1fr;gap:10px;padding:13px 17px;font-size:12px;border-bottom:1px solid var(--line)}.company-info div:last-child{border-bottom:0}.company-info b{color:#5c7669}.footer{background:#091e1b;color:#c6d8cd;padding:35px 0 34px}.footer-row{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:17px}.footer-brand{font-size:17px;color:#fff;font-weight:900}.footer-brand small{font-size:11px;color:#a6bbaf;font-weight:500;display:block}.footer-nav{display:flex;flex-wrap:wrap;gap:15px;font-size:11px}.footer-copy{color:#a1b6aa;font-size:10px;margin-top:20px}.mobile-cta{display:none}
.article-hero{background:var(--green);color:white;padding:72px 0 59px}.article-hero .kicker{color:var(--lime)}.article-hero h1{font-size:clamp(29px,4.2vw,48px);line-height:1.45;max-width:900px;letter-spacing:-.05em;margin:16px 0}.article-hero p{font-size:14px;color:#d3e3dc;max-width:750px}.article-layout{display:grid;grid-template-columns:minmax(0,780px) minmax(220px,290px);gap:45px;align-items:start;padding:70px 0}.article{background:white;padding:35px 40px;border-radius:15px;border:1px solid var(--line)}.article h2{font-size:26px;border-bottom:1px solid var(--line);padding-bottom:13px;margin:34px 0 18px}.article h2:first-child{margin-top:0}.article h3{font-size:18px;margin:23px 0 9px}.article p,.article li{font-size:14px;color:#53645b}.article ul{padding-left:22px}.article-note{background:#f1f6e9;padding:17px 20px;border-radius:11px;margin:27px 0;font-size:13px}.article-side{position:sticky;top:110px;background:var(--green);border-radius:13px;padding:25px;color:#fff}.article-side h3{margin:0 0 8px}.article-side p{font-size:12px;color:#e2ede5}.article-side .button{width:100%;font-size:13px;padding:14px 10px}.breadcrumb{font-size:12px;margin-top:20px;color:#dae5dd}.breadcrumb a{text-decoration:underline}.article-back{margin-top:22px;display:inline-block;font-weight:800;font-size:13px;color:var(--green)}
@media(max-width:1050px){.nav{gap:11px;font-size:11px}.nav-call{padding:10px 12px}.brand-name{font-size:19px}.about-grid,.area-grid{gap:30px}.hero-grid{grid-template-columns:1fr .85fr}.hero-visual{min-height:390px}}
@media(max-width:850px){.nav>a:not(.nav-call){display:none}.service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.about-grid{grid-template-columns:1fr}.about-visual{max-width:650px;width:100%;margin:auto;min-height:300px}.about-copy{order:-1}.quality-grid{grid-template-columns:repeat(2,1fr)}.contact-grid{grid-template-columns:1fr}.article-layout{grid-template-columns:1fr}.article-side{position:static}.maker-inner{display:block}.maker-label{margin-bottom:11px}.hero-visual{min-height:350px}}
@media(max-width:650px){html{scroll-padding-top:75px}.container{width:min(100% - 32px,480px)}.topstrip>.container{font-size:9px;min-height:31px}.topstrip span:last-child{display:none}.header-row{min-height:67px}.brand-name{font-size:16px}.brand-symbol{width:38px;height:38px;font-size:19px;border-radius:11px}.nav{display:none}.mobile-nav{display:block;position:relative}.mobile-nav summary{list-style:none;font-size:12px;font-weight:900;background:#e8f0d4;padding:9px 13px;border-radius:7px}.mobile-nav summary::-webkit-details-marker{display:none}.mobile-nav nav{position:absolute;top:45px;right:0;min-width:220px;border-radius:10px;background:#fff;padding:12px;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:3px}.mobile-nav nav a{padding:9px 13px;font-size:12px;font-weight:800}.hero-grid{grid-template-columns:1fr;gap:1px;padding:53px 0 22px}.hero h1{font-size:clamp(35px,10vw,47px);margin:13px 0 16px;line-height:1.35}.hero-copy{font-size:13px}.hero-tags{gap:6px;margin:20px 0 23px}.hero-tags span{font-size:10px;padding:5px 9px}.action-row{gap:9px}.button{padding:13px 16px;font-size:13px}.button-outline{padding:11px 12px;font-size:11px}.hero-phone-note b{font-size:14px}.hero-visual{min-height:260px;max-height:288px;overflow:hidden}.hero-svg{width:260px;transform:translateY(-8px)}.hero-circle{width:250px;height:250px}.visual-sticker{right:5px;bottom:8px;font-size:10px;padding:8px 11px}.visual-sticker strong{font-size:14px}.trust-list{justify-content:space-between;gap:6px 9px;font-size:10px;padding:10px 0}.trust-list span{gap:5px}.trust-list span:before{height:15px;width:15px;font-size:9px}.section{padding:62px 0}.section-title{margin-bottom:26px}.section h2{font-size:clamp(26px,7.5vw,34px)}.section-title p,.lead{font-size:12px}.service-grid{gap:10px}.service-card{padding:17px 14px;min-height:231px;border-radius:12px}.service-card h3{font-size:15px}.service-card p{font-size:11px}.service-card .service-price{font-size:19px}.service-price small{font-size:10px}.service-icon{width:43px;height:43px;margin-bottom:12px}.service-icon svg{width:24px;height:24px}.notice{text-align:left}.maker-strip{padding:16px 0}.maker-items{justify-content:flex-start;gap:8px 17px}.maker-items span{font-size:13px}.maker-note{font-size:9px}.about-visual{min-height:260px}.about-float{left:15px;bottom:14px}.about-copy p{font-size:12px}.about-items{gap:8px}.about-items div{padding:11px;font-size:11px}.three-steps{grid-template-columns:1fr;gap:11px}.step-card{padding:19px 19px}.step-no{font-size:29px}.step-card h3{margin:9px 0 5px;font-size:15px}.step-card p{font-size:12px}.step-card:after{content:"↓";right:20px;top:auto;bottom:-20px}.special-grid{grid-template-columns:1fr;gap:13px}.special-card{display:grid;grid-template-columns:39% 1fr}.special-art{height:100%;min-height:155px}.special-art svg{width:100%;max-width:180px}.special-copy{padding:17px 14px}.special-copy h3{font-size:15px}.special-copy p{font-size:11px}.quality-grid{gap:9px}.quality-item{padding:19px 12px}.quality-item strong{font-size:13px}.quality-item span{font-size:10px}.area-grid{grid-template-columns:1fr;gap:23px}.area-art{min-height:230px;order:2}.area-art-main strong{font-size:29px}.area-list{gap:8px}.area-item{padding:10px;font-size:12px}.wards{margin-top:20px;padding:17px}.faq-list summary{font-size:12px;padding:14px 34px 14px 12px}.faq-list summary:before{margin-right:7px;width:23px;height:23px}.faq-list summary:after{right:11px;top:14px}.faq-answer{font-size:12px;padding:12px 14px 16px}.columns{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.column-art{height:77px;font-size:30px}.column-card .column-copy{padding:12px}.column-copy strong{font-size:12px}.column-copy span{font-size:9px}.company{padding:60px 0}.company-row{grid-template-columns:1fr;gap:23px}.company h2{font-size:26px}.company-info div{grid-template-columns:95px 1fr;font-size:11px}.contact-section{padding:60px 0 95px}.contact-phone{font-size:31px}.footer{padding:28px 0 93px}.footer-nav{gap:8px 14px}.mobile-cta{position:fixed;z-index:40;bottom:0;left:0;right:0;display:block;background:#fff;padding:9px 13px calc(9px + env(safe-area-inset-bottom));box-shadow:0 -8px 25px #00000019}.mobile-cta a{display:flex;justify-content:center;align-items:center;gap:9px;color:var(--ink);background:var(--lime);border-radius:9px;font-weight:900;padding:12px 10px;font-size:14px}.article-hero{padding:51px 0 41px}.article-hero h1{font-size:28px}.article-layout{padding:32px 0;gap:20px}.article{padding:23px 20px}.article h2{font-size:21px}.article p,.article li{font-size:12px}.article-side{padding:20px}}
@media(max-width:365px){.container{width:calc(100% - 24px)}.brand-name{font-size:14px}.hero h1{font-size:34px}.button-outline{padding:11px 10px}.hero-tags span{font-size:9px}.service-card .service-price{font-size:17px}.contact-phone{font-size:28px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}
@media(max-width:365px){.hero .action-row{display:grid;grid-template-columns:1fr;gap:11px}.hero .action-row .button,.hero .action-row .button-outline{width:100%}}


/* Specialty / reviews: reference site sections (v1.1) */
.specialty-note{margin:18px 0 0;color:#63746c;font-size:11px;text-align:center}
.reviews-section{background:#fff}
.review-status{display:flex;align-items:flex-start;gap:18px;max-width:840px;margin:0 auto 27px;padding:23px 26px;border-radius:17px;background:linear-gradient(115deg,#f2f8e4,#f8fbf1);border:1px solid #dce9c5}
.review-status-icon{width:50px;height:50px;flex-shrink:0;display:grid;place-items:center;border-radius:14px;background:#dcedb5;color:var(--green);font-family:Georgia,serif;font-size:48px;font-weight:900;line-height:1;padding-top:16px}
.review-status-label{display:inline-block;color:#547735;font-size:11px;letter-spacing:.12em;font-weight:900;margin-bottom:3px}
.review-status h3{font-size:18px;margin:0 0 5px;letter-spacing:-.03em}
.review-status p{margin:0;color:var(--muted);font-size:12px}
.review-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.review-card{min-height:238px;display:flex;flex-direction:column;background:#fff;padding:23px;border:1px solid #dfe8df;border-radius:17px;box-shadow:0 8px 26px #18362a08}
.review-card-top{display:flex;align-items:center;gap:12px}
.review-avatar{width:43px;height:43px;flex-shrink:0;display:grid;place-items:center;color:var(--green);background:#ecf3dc;border-radius:50%;font-size:17px;font-weight:900}
.review-card-top strong{display:block;font-size:14px;line-height:1.4}
.review-card-top span:not(.review-avatar){display:block;color:#7e8f84;font-size:10px;margin-top:2px}
.review-divider{height:1px;background:var(--line);margin:18px 0 16px}
.review-card p{font-size:12px;color:#627369;margin:0 0 18px;flex:1}
.review-pending{font-size:11px;font-weight:900;color:#6c855c;align-self:flex-start;background:#f0f5e6;padding:5px 10px;border-radius:100px}
.review-footer{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-top:20px}
.review-footer p{font-size:10px;color:#76867d;margin:0}
.review-link{font-size:12px;font-weight:900;color:var(--green);white-space:nowrap}
.review-link:hover{text-decoration:underline}
@media(max-width:850px){.review-grid{gap:10px}.review-card{padding:16px;min-height:245px}.review-card-top strong{font-size:12px}.review-card-top span:not(.review-avatar){font-size:9px}}
@media(max-width:650px){.review-status{padding:18px 16px;gap:12px;margin-bottom:18px}.review-status-icon{width:37px;height:37px;font-size:37px;border-radius:10px;padding-top:11px}.review-status h3{font-size:15px}.review-status p{font-size:11px}.review-grid{grid-template-columns:1fr;gap:10px}.review-card{min-height:0;padding:17px 17px 16px}.review-divider{margin:11px 0 10px}.review-card p{font-size:11px;margin-bottom:12px}.review-footer{align-items:flex-start;flex-direction:column;gap:8px}.specialty-note{font-size:10px;text-align:left}}

.mobile-only{display:none}@media(max-width:650px){.mobile-only{display:block}}

/* v1.2: phone-first, single-column contact block (consultation memo removed) */
.contact-grid--single{grid-template-columns:minmax(0,760px);justify-content:center;text-align:center;gap:0}
.contact-grid--single .action-row{justify-content:center}
@media(max-width:850px){.contact-grid--single{grid-template-columns:minmax(0,760px)}}

/* v1.3: WEB限定クーポン（ファーストビュー直下） */
.hero-coupon-link{display:inline-flex;align-items:center;gap:6px;margin-top:13px;padding:6px 0;border-bottom:1px dashed #d8f06b;color:#dff593;font-size:12px;font-weight:700;line-height:1.5}
.hero-coupon-link strong{color:#fff;font-weight:900}.hero-coupon-link:hover{color:#fff}
.coupon-section{padding:38px 0 40px;background:#f1f5e7}
.coupon-card{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.74fr);gap:0;background:#fff;border:1px solid #d7e6c5;border-radius:21px;box-shadow:0 14px 35px #183d2920;overflow:hidden;position:relative}
.coupon-card:before,.coupon-card:after{content:"";position:absolute;z-index:2;left:57.5%;width:22px;height:22px;border-radius:50%;background:#f1f5e7;transform:translateX(-50%);pointer-events:none}
.coupon-card:before{top:-12px}.coupon-card:after{bottom:-12px}
.coupon-info{padding:37px 39px 31px;min-width:0}
.coupon-label{display:inline-flex;align-items:center;gap:7px;background:#e5f3c2;color:#2e5c31;padding:6px 13px;border-radius:99px;font-size:12px;font-weight:900;letter-spacing:.03em}
.coupon-info h2{font-size:clamp(19px,2.3vw,28px);letter-spacing:-.045em;line-height:1.52;margin:15px 0 9px}
.coupon-description{color:#596d61;font-size:13px;margin:0 0 12px;max-width:440px}
.coupon-conditions{color:#758379;font-size:11px;margin:0;line-height:1.65}
.coupon-offer{background:#16483d;color:#fff;border-left:2px dashed #b7d1a7;padding:28px 35px 29px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;min-width:0}
.coupon-offer-label{color:#dce9cf;font-size:12px;font-weight:800;letter-spacing:.1em}
.coupon-amount{display:flex;align-items:baseline;justify-content:center;gap:5px;color:#e1f47e;line-height:1.15;white-space:nowrap;margin:3px 0 17px}
.coupon-amount strong{font-size:clamp(49px,5.4vw,73px);letter-spacing:-.075em;font-weight:950;font-variant-numeric:tabular-nums}
.coupon-amount span{font-size:18px;font-weight:900}.coupon-amount b{font-size:21px}
.coupon-button{background:var(--lime);display:flex;justify-content:center;align-items:center;gap:9px;padding:12px 14px;border-radius:9px;color:var(--ink);font-size:13px;font-weight:900;width:100%;max-width:290px;transition:filter .2s}
.coupon-button:hover{filter:brightness(1.05)}.coupon-button svg{width:19px;height:19px;flex-shrink:0}
.coupon-offer-note{display:block;font-size:10px;color:#dce7d4;margin-top:10px;line-height:1.65}
@media(max-width:850px){.coupon-card{grid-template-columns:1fr .9fr}.coupon-info{padding:25px}.coupon-offer{padding:22px 20px}.coupon-card:before,.coupon-card:after{left:52.5%}.coupon-info h2{font-size:20px}}
@media(max-width:650px){.coupon-section{padding:21px 0 24px}.coupon-card{grid-template-columns:1fr;border-radius:14px}.coupon-card:before,.coupon-card:after{display:none}.coupon-info{padding:21px 21px 14px}.coupon-label{font-size:10px;padding:5px 11px}.coupon-info h2{font-size:19px;margin:11px 0 8px}.coupon-break{display:none}.coupon-description{font-size:11px;margin:0 0 8px}.coupon-conditions{font-size:10px}.coupon-offer{border-left:0;border-top:2px dashed #b7d1a7;padding:14px 17px 18px}.coupon-offer-label{font-size:11px}.coupon-amount{margin:1px 0 12px}.coupon-amount strong{font-size:57px}.coupon-amount span{font-size:16px}.coupon-amount b{font-size:19px}.coupon-button{font-size:12px;max-width:100%;padding:11px 14px}.coupon-offer-note{font-size:10px;margin-top:7px}.hero-coupon-link{font-size:11px;margin-top:12px}}
@media(max-width:365px){.coupon-info{padding:18px 15px 12px}.coupon-info h2{font-size:18px}.coupon-amount strong{font-size:51px}}

/* ── v1.4: brighter, reference-inspired marketing layout ── */
:root{--ink:#153c32;--green:#276957;--green2:#398775;--lime:#e2f77e;--paper:#f9fbf5;--muted:#5d776b;--line:#dbe9dc;--soft:#eef6e9;--shadow:0 17px 44px rgba(16,65,44,.095)}
body{background:var(--paper);padding-bottom:84px}
.topstrip{background:#164b40}
.header{background:rgba(255,255,255,.985)}
.brand{gap:0}.brand-name{font-size:23px;line-height:1.15;letter-spacing:-.035em}.brand-name small{font-size:10px;letter-spacing:.035em;margin-top:7px;line-height:1.45;color:#397663}
.hero{background:radial-gradient(circle at 86% 17%,#469886 0%,transparent 44%),linear-gradient(120deg,#287463 0%,#1d5b4d 73%,#1d5147 100%)}
.hero:before{border-color:#ffffff40;box-shadow:0 0 0 85px #ffffff12,0 0 0 172px #ffffff0a}
.hero-grid{padding:72px 0 50px;grid-template-columns:1.13fr .87fr}
.hero h1{font-size:clamp(39px,4.1vw,56px);line-height:1.35;margin:20px 0 25px;letter-spacing:-.045em}
.hero h1 em{color:#e6fd99}
.speed-label{display:inline-flex;align-items:center;flex-wrap:wrap;gap:10px 14px;border:1px solid #ffffff93;border-radius:999px;padding:9px 15px;background:#fff2;box-shadow:0 13px 32px #093f3438;backdrop-filter:blur(5px);animation:speedFloat 3s ease-in-out infinite}
.speed-label .speed-dot{width:11px;height:11px;border-radius:50%;background:var(--lime);box-shadow:0 0 0 5px #e2f77e35;animation:speedPulse 1.8s ease-in-out infinite}
.speed-label .speed-txt{font-size:12px;font-weight:800;color:#eaffc8}
.speed-label strong{font-size:16px;letter-spacing:.035em;color:white}
.speed-label strong b{font-size:23px;color:var(--lime)}
.hero-checks{display:flex;flex-wrap:wrap;gap:10px 15px;margin:0 0 16px}
.hero-checks div{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:900;letter-spacing:-.02em}
.hero-checks span{width:23px;height:23px;display:grid;place-items:center;flex-shrink:0;border-radius:50%;background:var(--lime);color:#276858;font-size:14px}
.hero-copy{font-size:14px;max-width:560px;line-height:1.95}
.hero-actions{margin-top:25px;flex-wrap:nowrap}.hero-actions .button{white-space:nowrap;min-width:240px}.hero-actions .button-outline{white-space:nowrap;min-width:140px;text-align:center}
.speed-note{color:#c7e5d9;font-size:10px;margin:12px 0 0;line-height:1.65}
.hero-svg{filter:drop-shadow(16px 24px 20px #174b4180)}
.hero-circle{background:radial-gradient(circle,#d8f06b22 0%,transparent 69%)}
.coupon-section{background:#f0f8e9}
.maker-strip{background:#fff;padding:27px 0 22px}
.maker-inner{align-items:flex-start}
.maker-label{max-width:110px;line-height:1.6;white-space:normal}
.maker-items{justify-content:flex-start;gap:12px 18px}
.maker-items span{font-size:clamp(13px,1.45vw,18px);color:#637c72;letter-spacing:-.015em}
.maker-note{margin-top:12px}
.local-section{background:#fff;padding:78px 0 87px}
.local-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:62px;align-items:center}
.local-photo{height:390px;border-radius:22px;display:grid;place-items:center;position:relative;overflow:hidden;background:radial-gradient(circle at 35% 29%,#d9f2c2,#acd7be 53%,#73b5a0)}
.photo-ring{width:330px;height:330px;border-radius:50%;position:absolute;border:1px solid #fff8;box-shadow:0 0 0 35px #fff3,0 0 0 70px #fff2}
.local-avatar{position:relative;z-index:1;width:230px;height:230px;border-radius:50%;overflow:hidden;background:#e5f3df;box-shadow:0 18px 40px #2758423d}
.local-avatar svg{width:100%;height:100%}
.local-caption{position:absolute;z-index:2;bottom:19px;right:18px;background:#fff;padding:8px 15px;border-radius:8px;color:#416456;font-size:11px;font-weight:800}
.local-copy h2{font-size:clamp(29px,3vw,39px);line-height:1.55;letter-spacing:-.04em;margin:10px 0 21px}
.local-copy h2 em{font-style:normal;color:#278366}
.local-copy p{font-size:14px;color:#526e60;line-height:2;margin:0 0 13px}
.local-points{display:flex;flex-wrap:wrap;gap:8px;margin-top:21px}
.local-points span{padding:9px 12px;border-radius:7px;background:#ebf5e9;color:#276452;font-size:12px;font-weight:900}
.local-copy .local-note{color:#789187;font-size:10px;margin:15px 0 0}
.section.alt{background:#f0f7ed}
.section-title h2{letter-spacing:-.04em}
.services-v14{background:#f7faf4}
.services-v14 .section-title h2{font-size:clamp(30px,3.55vw,47px);font-weight:900;color:#154d40}
.services-v14 .service-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.services-v14 .service-card{position:relative;padding:30px 34px 27px;min-height:245px;border:2px solid #d8e9d9;box-shadow:0 14px 32px #225a3c0a;display:grid;grid-template-columns:74px 1fr;grid-template-rows:auto 1fr auto;column-gap:20px}
.services-v14 .service-icon{grid-row:1/3;margin:0;width:70px;height:70px;border-radius:18px;background:#e2f3d0;color:#236955}
.services-v14 .service-icon svg{width:37px;height:37px}
.services-v14 .service-card h3{font-size:25px;line-height:1.4;margin:5px 0 5px}
.services-v14 .service-card p{grid-column:2;font-size:13px;line-height:1.85;margin:0 0 17px}
.services-v14 .service-card .service-price{grid-column:1/-1;margin-top:16px;display:flex;align-items:baseline;justify-content:flex-end;gap:8px;border-top:1px solid #dae8d7;padding-top:12px;font-size:39px;line-height:1.3;letter-spacing:-.04em;color:#176c50}
.services-v14 .service-card .service-price small{font-size:13px}
.services-v14 .consult-price{font-size:26px;letter-spacing:-.03em}
.services-v14 .notice{font-size:11px;line-height:1.8}
.reviews-section{background:#fff;overflow:hidden}
.review-summary{border:1px solid #d5e9d6;background:linear-gradient(102deg,#eff9e9,#fff);display:flex;align-items:center;gap:17px;max-width:850px;margin:auto;padding:17px 23px;border-radius:15px}
.review-google-mark{width:55px;height:55px;display:grid;place-items:center;border-radius:50%;font-size:28px;color:#489a6c;background:#e0f3df}
.review-summary-label{display:block;color:#6d8b74;font-size:10px;font-weight:900;letter-spacing:.14em}
.review-summary strong{display:block;font-size:20px;letter-spacing:-.03em}
.review-summary p{font-size:11px;color:#6d8175;margin:3px 0 0}
.review-count{margin-left:auto;border:1px solid #cfe5d2;background:white;border-radius:40px;padding:7px 12px;color:#587768;font-size:11px;white-space:nowrap}
.review-viewport{margin-top:37px;overflow:hidden;position:relative;mask-image:linear-gradient(to right,transparent,black 6%,black 94%,transparent)}
.review-track{display:flex;gap:20px;width:max-content;will-change:transform}
.review-track.is-running{animation:reviews-scroll 38s linear infinite}
.review-track:hover,.review-track:focus-within{animation-play-state:paused}
.review-slide{border:1px solid #deeadf;background:#fff;border-radius:18px;box-shadow:0 10px 28px #1e593513;width:350px;min-height:247px;flex:none;padding:22px 23px;display:flex;flex-direction:column}
.review-head{display:flex;align-items:center;gap:12px}.review-initial{width:43px;height:43px;background:#daf0d9;color:#2a7058;display:grid;place-items:center;border-radius:50%;font-size:19px;font-weight:900}
.review-head strong{display:block;font-size:15px}.review-head small{display:block;font-size:10px;color:#6f8a77;margin-top:1px}
.review-stars{font-weight:800;letter-spacing:.02em;color:#679c64;border-bottom:1px solid #e4efe3;padding:14px 0 12px;font-size:12px}
.review-slide p{font-size:12px;line-height:1.85;color:#4f7160;margin:14px 0 15px;flex:1}
.review-date{font-size:10px;color:#7b9386}
.review-bottom{display:flex;justify-content:space-between;gap:15px;margin-top:22px;color:#72867c;font-size:10px}
.review-bottom a{color:#277457;font-size:12px;font-weight:900;white-space:nowrap}
@keyframes reviews-scroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@keyframes speedFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-4px)}}
@keyframes speedPulse{50%{box-shadow:0 0 0 10px #e2f77e1c}}
.area-section{background:#f0f7ee}
.district-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:36px}
.district-card{position:relative;overflow:hidden;background:white;border:1px solid #d9e8db;border-left:7px solid #71ae91;border-radius:13px;padding:32px;min-height:226px;box-shadow:0 10px 25px #3764430b}
.district-index{font-size:11px;letter-spacing:.14em;color:#5f9075;font-weight:900}
.district-card h3{font-size:28px;color:#1c5848;margin:8px 0 8px}
.district-card strong{font-size:15px;color:#21644e;display:block;margin-bottom:14px}
.district-card p{font-size:13px;color:#637b6b;margin:0;line-height:1.8}
.area-footnote{font-size:11px;color:#668473;margin:16px 0 0}
.area-section .wards{margin-top:22px;background:#fff;border:1px solid #d7e4da}
.company-v14{background:#fff;padding:83px 0}
.company-v14> .container > h2{font-size:37px;line-height:1.3;margin:7px 0 24px;color:#194f41}
.company-guide{display:grid;grid-template-columns:1.1fr .9fr;gap:25px}
.company-location{border-radius:16px;border:1px solid #d7e9dc;padding:29px;background:#fafdf7}
.company-pip{display:inline-block;padding:5px 11px;background:#e1f4d8;color:#387454;font-size:11px;font-weight:900;border-radius:80px}
.company-location h3{font-size:25px;margin:10px 0 8px}
.company-location>p{font-size:13px;line-height:1.9;color:#537264;margin:0 0 13px}
.location-list p{border-top:1px solid #d8e8d8;display:flex;gap:24px;justify-content:space-between;padding:9px 0;margin:0;font-size:13px}
.location-list b{min-width:88px;color:#486958}
.location-list a{color:#1b7758;font-weight:900}
.company-location .company-disclaimer{font-size:10px;color:#748b7d;margin-top:14px}
.company-map{min-height:345px;position:relative;overflow:hidden;border-radius:16px;background:linear-gradient(145deg,#e0f4dc,#88c6a9);display:flex;flex-direction:column;align-items:center;justify-content:center;color:#1a5b44}
.company-map-circle{position:absolute;width:320px;height:320px;border:2px solid #fff7;border-radius:50%;box-shadow:0 0 0 49px #ffffff24,0 0 0 98px #ffffff13}
.company-map strong,.company-map span,.company-map small{position:relative}.company-map strong{font-size:58px;letter-spacing:.1em;line-height:1.3}.company-map span{font-weight:900;font-size:16px}.company-map small{font-size:11px;letter-spacing:.15em;margin-top:6px}
.email-section{background:#eaf5e7;padding:55px 0}
.email-grid{display:flex;gap:32px;justify-content:space-between;align-items:center}
.email-grid>div{max-width:730px}.email-grid h2{font-size:29px;margin:8px 0}.email-grid p{font-size:13px;color:#4d7561;margin:0 0 10px;line-height:1.9}.email-grid .email-wait{font-weight:900;color:#2f7056}
.email-grid .button{white-space:nowrap;background:#245f50;color:#fff;box-shadow:0 4px 0 #164634;font-size:13px}
.mobile-cta{position:fixed;display:block;bottom:0;left:0;right:0;z-index:60;background:#fff;box-shadow:0 -8px 33px #173b2a30;border-top:1px solid #d2e6d5;padding:9px 20px calc(9px + env(safe-area-inset-bottom));}
.fixed-call-inner{display:flex;align-items:center;justify-content:space-between;gap:25px;width:min(1160px,100%);margin:auto}
.fixed-call-copy strong{display:block;color:#175443;font-size:15px;line-height:1.4}.fixed-call-copy span{display:block;color:#6b8372;font-size:11px}
.mobile-cta a{margin:0;display:inline-flex;align-items:center;justify-content:center;gap:12px;border-radius:10px;background:#e2f77e;color:#194637;padding:13px 30px;font-weight:900;font-size:15px;min-width:380px;box-shadow:0 3px 0 #aac866}
.mobile-cta a b{font-size:20px;letter-spacing:.015em;white-space:nowrap}
.footer{padding-bottom:36px}
@media(max-width:1120px){.header .nav{gap:12px}.brand-name{font-size:19px}.brand-name small{font-size:9px}.hero h1{font-size:clamp(35px,4.35vw,50px)}.hero-grid{gap:12px}}
@media(max-width:850px){.local-grid{grid-template-columns:1fr;gap:25px}.local-photo{max-width:600px;width:100%;height:320px;margin:auto}.local-copy{max-width:680px;margin:auto}.hero-actions{flex-wrap:wrap}.company-guide{grid-template-columns:1fr}.company-map{min-height:240px}.email-grid{align-items:flex-start}.fixed-call-copy{display:none}.fixed-call-inner{justify-content:center}}
@media(max-width:650px){body{padding-bottom:72px}.brand-name{font-size:17px}.brand-name small{font-size:8px;max-width:250px;letter-spacing:0;margin-top:5px;line-height:1.35}.hero-grid{padding:29px 0 18px}.speed-label{padding:7px 9px;gap:6px 9px}.speed-label .speed-txt{font-size:10px}.speed-label strong{font-size:12px}.speed-label strong b{font-size:18px}.speed-label .speed-dot{width:7px;height:7px}.hero h1{font-size:clamp(30px,8.3vw,41px);margin:16px 0 15px;line-height:1.36}.hero-checks{display:grid;gap:7px;margin-bottom:12px}.hero-checks div{font-size:12px}.hero-checks span{width:20px;height:20px}.hero-copy{font-size:12px;line-height:1.85}.hero-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:20px}.hero-actions .button{grid-column:1/-1;min-width:0;width:100%;font-size:14px;min-height:48px}.hero-actions .button-outline{grid-column:1/-1;min-width:0;width:100%;min-height:43px;font-size:13px}.speed-note{font-size:9px}.hero-visual{min-height:220px;max-height:250px}.hero-svg{width:248px}.hero-coupon-link{font-size:11px}.maker-strip{padding:19px 0}.maker-label{max-width:none;margin-bottom:12px}.maker-items{gap:8px 13px}.maker-items span{font-size:13px}.local-section{padding:47px 0 56px}.local-photo{height:265px}.local-avatar{width:185px;height:185px}.photo-ring{width:210px;height:210px}.local-caption{font-size:9px;right:11px;bottom:11px;padding:6px 9px}.local-copy h2{font-size:26px}.local-copy p{font-size:12px}.local-points span{font-size:10px}.services-v14 .service-grid{grid-template-columns:1fr;gap:13px}.services-v14 .section-title h2{font-size:28px}.services-v14 .service-card{padding:20px;min-height:195px;grid-template-columns:58px 1fr;gap:0 16px}.services-v14 .service-icon{width:57px;height:57px;border-radius:13px}.services-v14 .service-icon svg{width:30px;height:30px}.services-v14 .service-card h3{font-size:20px}.services-v14 .service-card p{font-size:12px;line-height:1.7}.services-v14 .service-card .service-price{font-size:33px;margin-top:8px}.services-v14 .consult-price{font-size:22px}.review-summary{padding:12px;gap:10px;flex-wrap:wrap}.review-google-mark{width:42px;height:42px;font-size:22px}.review-summary strong{font-size:16px}.review-summary p{font-size:10px}.review-count{margin-left:51px;margin-top:-6px}.review-viewport{margin-top:20px;mask-image:linear-gradient(to right,transparent,black 4%,black 96%,transparent)}.review-slide{width:280px;min-height:219px;padding:17px}.review-track{gap:12px}.review-bottom{flex-direction:column;gap:5px}.district-grid{grid-template-columns:1fr;gap:11px;margin-top:24px}.district-card{padding:22px;min-height:0;border-left-width:5px}.district-card h3{font-size:22px}.district-card strong{font-size:13px}.district-card p{font-size:12px}.area-footnote{font-size:10px}.company-v14{padding:56px 0}.company-v14> .container > h2{font-size:30px}.company-location{padding:20px}.company-map{min-height:230px}.company-map strong{font-size:45px}.location-list p{flex-wrap:wrap;gap:4px}.email-grid{display:block}.email-grid h2{font-size:25px}.email-grid .button{margin-top:10px}.mobile-cta{padding:7px 12px calc(7px + env(safe-area-inset-bottom))}.mobile-cta a{width:100%;min-width:0;padding:9px 10px;gap:9px;font-size:12px;border-radius:8px}.mobile-cta a b{font-size:15px}.footer{padding-bottom:20px}.contact-section{padding-bottom:68px}}
@media(max-width:360px){.brand-name{font-size:15px}.brand-name small{font-size:7.5px}.hero h1{font-size:29px}.hero-checks div{font-size:11px}.speed-label{gap:5px 7px}.speed-label .speed-txt{font-size:9px}.speed-label strong b{font-size:16px}.services-v14 .service-card h3{font-size:18px}.mobile-cta a b{font-size:14px}}
@media(prefers-reduced-motion:reduce){.speed-label,.speed-label .speed-dot,.review-track.is-running{animation:none!important}}
/* Final typography and mobile stacking adjustments */
.hero h1{font-size:clamp(38px,3.45vw,49px);line-height:1.35;letter-spacing:-.058em}
.hero h1 .headline-line{display:block;white-space:nowrap}
@media(max-width:850px){.hero h1{font-size:clamp(31px,4vw,38px)}}
@media(max-width:650px){.hero-grid{grid-template-columns:minmax(0,1fr);gap:4px}.hero-grid>div:first-child{min-width:0}.hero h1{font-size:clamp(26px,7.1vw,34px);letter-spacing:-.065em;line-height:1.46}.hero h1 .headline-line{white-space:nowrap}.hero-visual{width:100%;max-width:100%;min-width:0;min-height:220px;max-height:270px}.hero-phone-note strong{white-space:nowrap}}
@media(max-width:360px){.hero h1{font-size:26px}}
.services-v14 .tax-inline{display:inline-block;font-size:.47em;letter-spacing:-.02em;white-space:nowrap;vertical-align:.16em;color:#3d806b;margin-left:4px}
@media(max-width:650px){.services-v14 .section-title h2{font-size:26px;letter-spacing:-.055em}.services-v14 .tax-inline{font-size:12px;letter-spacing:-.05em;margin-left:1px}}
@media(max-width:360px){.services-v14 .section-title h2{font-size:24px}.services-v14 .tax-inline{font-size:11px}}

/* v1.5: メーカー名は縦に6件ずつ、左右2列で統一 */
.maker-strip{padding:34px 0 30px}
.maker-strip .maker-inner{display:block}
.maker-strip .maker-label{display:block;max-width:none;text-align:center;line-height:1.5;white-space:normal;margin:0 0 20px;font-size:15px;font-weight:900;letter-spacing:.04em;color:#1d5548}
.maker-strip .maker-items{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px 18px;max-width:800px;margin:0 auto;justify-content:normal;align-items:stretch}
.maker-strip .maker-items span{display:flex;align-items:center;min-width:0;justify-content:flex-start;padding:11px 18px;border:1px solid #e4e9e0;border-radius:9px;background:#f7faf5;font-size:clamp(14px,1.35vw,16px);font-weight:800;line-height:1.4;color:#42695b;letter-spacing:0}
.maker-strip .maker-note{max-width:800px;margin:14px auto 0;text-align:center}
@media(max-width:650px){
  .maker-strip{padding:26px 0 25px}
  .maker-strip .maker-label{font-size:13px;margin-bottom:15px}
  .maker-strip .maker-items{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px 9px}
  .maker-strip .maker-items span{padding:10px 8px;font-size:12px;justify-content:center;text-align:center;overflow-wrap:anywhere}
  .maker-strip .maker-note{text-align:left;font-size:10px}
}

/* v1.5: スマホの西区紹介見出しは意味のまとまりで改行 */
@media(max-width:650px){.local-copy h2>span,.local-copy h2 em span{display:block}.local-copy h2>br{display:none}.local-copy h2 em{display:block}}


/* v1.6: メーカー表示を参考画像と同じ横2行（1行目8社・2行目4社）へ */
.maker-strip{background:#f8f9fb;padding:28px 0 23px}
.maker-strip .maker-inner{display:block;text-align:center}
.maker-strip .maker-label{display:block;max-width:none;margin:0 0 17px;line-height:1.5;font-size:11px;font-weight:800;letter-spacing:.045em;color:#98a2b4;text-align:center}
.maker-strip .maker-items{display:flex;flex-direction:column;align-items:center;gap:17px;max-width:900px;margin:0 auto}
.maker-strip .maker-row{display:flex;align-items:center;justify-content:center;flex-wrap:nowrap;white-space:nowrap;gap:clamp(18px,2.65vw,36px);width:100%}
.maker-strip .maker-row--second{gap:clamp(25px,3vw,44px)}
.maker-strip .maker-row span{display:inline-block;padding:0;border:0;border-radius:0;background:transparent;color:#062b5a;font-size:clamp(13px,1.15vw,16px);line-height:1.7;font-weight:900;letter-spacing:.015em;text-align:center;white-space:nowrap}
.maker-strip .maker-row .maker-red{color:#e51d2b}
.maker-strip .maker-row .maker-green{color:#068740}
.maker-strip .maker-note{max-width:900px;margin:15px auto 0;text-align:center;font-size:10px;line-height:1.5;color:#8893a2}
@media(max-width:850px){
  .maker-strip .maker-row--first{justify-content:flex-start;overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-width:thin;scrollbar-color:#cbd5df transparent;padding:0 0 6px;gap:25px}
  .maker-strip .maker-row--first span{flex:0 0 auto}
  .maker-strip .maker-row--second{justify-content:center;gap:clamp(14px,4.5vw,36px)}
}
@media(max-width:650px){
  .maker-strip{padding:24px 0 20px}
  .maker-strip .maker-label{font-size:11px;margin:0 0 13px;color:#98a2b4}
  .maker-strip .maker-items{gap:12px}
  .maker-strip .maker-row--first{gap:4px;padding-bottom:0;overflow:visible;justify-content:space-between}
  .maker-strip .maker-row span{font-size:12px;letter-spacing:0}
  .maker-strip .maker-row--second{gap:clamp(12px,4vw,24px)}
  .maker-strip .maker-note{margin:12px auto 0;text-align:center;font-size:9px;line-height:1.6}
}
@media(max-width:390px) and (min-width:366px){.maker-strip .maker-row--first span{font-size:11.5px}}
@media(max-width:365px){.maker-strip .maker-row--first{gap:3px}.maker-strip .maker-row--first span{font-size:10px}.maker-strip .maker-row--second{gap:11px}.maker-strip .maker-row--second span{font-size:11px}}


/* v1.8 reviews section rebuilt to match provided reference */
.reviews-section{background:#f6f6f6;overflow:hidden}
.reviews-section .section-title{margin-bottom:30px;text-align:center}
.reviews-section .section-title p{font-size:14px;color:#5f6b85}
.review-showcase{max-width:930px;margin:0 auto;text-align:center}
.review-score{display:flex;align-items:center;justify-content:center;gap:14px;margin:22px 0 30px;color:#1c2b4e}
.review-stars-large{display:flex;gap:3px;color:#f4c61f;font-size:29px;line-height:1}
.review-score strong{font-size:24px;line-height:1;font-weight:800}
.review-score span{font-size:14px;color:#6b7790}
.review-carousel{position:relative;max-width:605px;margin:0 auto}
.review-window{overflow:hidden}
.review-slides{display:flex;transition:transform .46s ease}
.review-panel{flex:0 0 100%;padding:0 0 10px}
.review-card-v18{background:#fff;border-radius:18px;box-shadow:0 1px 0 #eceef4,0 12px 28px rgba(20,42,39,.05);padding:30px 30px 26px;text-align:left;border:1px solid #f0f1f5}
.review-header-v18{display:flex;align-items:flex-start;gap:15px}
.review-avatar-v18{width:38px;height:38px;border-radius:50%;background:#4a80ee;color:#fff;display:grid;place-items:center;font-size:20px;font-weight:800;flex:none}
.review-header-v18 strong{display:block;font-size:17px;color:#1c2b4e;line-height:1.2}
.review-mini-stars{color:#f4c61f;font-size:18px;letter-spacing:1px;display:block;margin-top:4px;line-height:1}
.review-text-v18{margin:18px 0 6px;color:#3e4c67;font-size:15px;line-height:1.9}
.review-time-v18{font-size:12px;color:#7f8798}
.owner-reply{margin-top:16px;border-left:4px solid #4a80ee;background:#f6f7fb;border-radius:12px;padding:12px 14px 12px 16px}
.owner-reply b{display:block;font-size:12px;color:#4773df;margin-bottom:4px}
.owner-reply p{margin:0;font-size:13px;line-height:1.8;color:#556072}
.review-arrow{position:absolute;top:50%;transform:translateY(-50%);width:42px;height:42px;border:none;border-radius:50%;background:#fff;box-shadow:0 4px 18px rgba(17,36,60,.12);display:grid;place-items:center;cursor:pointer;color:#7380a0;z-index:2}
.review-arrow:hover{background:#fbfbfe}
.review-arrow svg{width:20px;height:20px}
.review-arrow.prev{left:-18px}
.review-arrow.next{right:-18px}
.review-dots{display:flex;justify-content:center;gap:9px;margin:16px 0 24px}
.review-dots button{width:8px;height:8px;border-radius:50%;border:none;background:#b9bfd0;padding:0;cursor:pointer}
.review-dots button.is-active{background:#405ea8}
.review-google-link{display:inline-flex;align-items:center;justify-content:center;min-width:260px;padding:15px 22px;border:2px solid #3f63e7;border-radius:999px;color:#3f63e7;background:#fff;font-weight:800;font-size:17px}
.review-google-link:hover{background:#f7f9ff}
@media(max-width:650px){
  .reviews-section .section-title{margin-bottom:18px}
  .reviews-section .section-title p{font-size:12px}
  .review-showcase{max-width:100%}
  .review-score{gap:8px;margin:16px 0 20px;flex-wrap:wrap}
  .review-stars-large{font-size:24px}
  .review-score strong{font-size:22px}
  .review-score span{font-size:12px}
  .review-carousel{max-width:100%}
  .review-card-v18{padding:22px 18px 20px;border-radius:16px}
  .review-header-v18 strong{font-size:15px}
  .review-mini-stars{font-size:16px}
  .review-text-v18{font-size:13px;line-height:1.85;margin-top:16px}
  .owner-reply{padding:10px 12px 10px 14px}
  .owner-reply p{font-size:12px}
  .review-arrow{width:38px;height:38px}
  .review-arrow.prev{left:8px}
  .review-arrow.next{right:8px}
  .review-google-link{min-width:230px;font-size:15px;padding:14px 20px}
}


/* v1.9 local intro rebuilt to match reference image more closely */
.local-section{background:#fff;padding:58px 0 74px}
.local-grid-v19{display:grid;grid-template-columns:250px minmax(0,1fr);gap:52px;align-items:center}
.local-photo-v19{display:flex;justify-content:center;align-items:center}
.local-photo-v19 img{width:240px;max-width:100%;display:block;border-radius:999px;box-shadow:0 8px 18px rgba(0,0,0,.12)}
.local-copy-v19 h2{font-size:clamp(31px,3.4vw,46px);line-height:1.35;letter-spacing:-.04em;margin:0 0 24px;color:#0f47a1;font-weight:900}
.local-lead-v19{font-size:15px;color:#123f94;font-weight:800;line-height:1.75;margin:0 0 18px}
.local-copy-v19 p{font-size:14px;color:#505f72;line-height:1.9;margin:0 0 18px}
.local-quote-v19{background:#eef3fb;border-left:4px solid #2860db;border-radius:14px;padding:16px 18px 16px 20px;color:#14326b;font-weight:800;font-size:14px;line-height:1.72;box-shadow:0 1px 0 rgba(0,0,0,.02)}
@media(max-width:850px){.local-grid-v19{grid-template-columns:1fr;gap:24px}.local-photo-v19{justify-content:flex-start}.local-copy-v19 h2{font-size:clamp(29px,5.8vw,40px)}}
@media(max-width:650px){.local-section{padding:40px 0 50px}.local-grid-v19{gap:18px}.local-photo-v19{justify-content:center}.local-photo-v19 img{width:230px}.local-copy-v19 h2{font-size:clamp(25px,8.2vw,34px);line-height:1.45;margin-bottom:18px}.local-lead-v19{font-size:13px;margin-bottom:14px}.local-copy-v19 p{font-size:12px;line-height:1.85;margin-bottom:14px}.local-quote-v19{font-size:12px;padding:13px 14px 13px 16px;border-radius:12px}}


/* v2.0 - 拠点案内・アクセス（参照サイトに合わせた2カラム） */
.company-v20{background:#fff;padding:46px 0 56px;border-top:1px solid #e9edf3}
.company-v20 .company-title-v20{font-size:clamp(27px,3vw,34px);color:#143c91;text-align:center;font-weight:900;line-height:1.35;margin:0 0 27px;letter-spacing:-.02em}
.company-v20 .access-card-v20{width:min(920px,100%);margin:auto;border:1px solid #e5eaf2;border-radius:16px;background:#fff;padding:30px 28px;display:grid;grid-template-columns:minmax(0,280px) minmax(0,1fr);gap:28px;align-items:start;box-shadow:0 2px 3px rgba(20,41,72,.025)}
.company-v20 .access-details-v20{min-width:0}
.company-v20 .access-overline-v20{font-weight:900;font-size:13px;color:#1d52be;margin:0 0 8px;letter-spacing:.02em}
.company-v20 .access-details-v20 h3{font-size:19px;line-height:1.45;color:#172b49;font-weight:900;margin:0 0 12px}
.company-v20 .access-address-v20{display:flex;flex-direction:column;gap:2px;color:#405575;font-size:14px;font-weight:750;line-height:1.65;overflow-wrap:anywhere}
.company-v20 .access-message-v20{border-radius:11px;border-left:3px solid #3478ff;padding:15px 15px 15px 17px;background:#eaf3ff;color:#243d60;font-size:14px;line-height:1.78;margin:22px 0 0}
.company-v20 .access-caveat-v20{font-size:10px;color:#6b7588;line-height:1.7;margin:15px 0 0}
.company-v20 .access-caveat-v20 strong{font-weight:900}
.company-v20 .access-map-v20{position:relative;overflow:hidden;border-radius:11px;min-width:0;height:405px;background:#eef2f6;border:1px solid #ecedf1}
.company-v20 .access-map-v20 iframe{width:100%;height:100%;display:block;border:0}
.company-v20 .access-map-overlay-v20{position:absolute;top:10px;left:10px;width:min(270px,calc(100% - 20px));padding:12px 14px;background:#fff;border-radius:4px;box-shadow:0 3px 14px #293f6122;display:flex;flex-direction:column;align-items:flex-start;gap:5px;pointer-events:auto}
.company-v20 .access-map-overlay-v20 strong{color:#242f3e;font-size:13px;line-height:1.4}
.company-v20 .access-map-overlay-v20 span{color:#65718b;font-size:11px;line-height:1.4}
.company-v20 .access-map-overlay-v20 a{display:inline-flex;align-items:center;justify-content:center;min-height:31px;padding:6px 14px;margin-top:4px;color:#fff;background:#1a73e8;font-size:12px;line-height:1.2;font-weight:800;border-radius:30px}
.company-v20 .access-map-overlay-v20 a:hover{background:#145cba}
@media(max-width:760px){
 .company-v20{padding:44px 0 54px}
 .company-v20 .access-card-v20{grid-template-columns:1fr;gap:24px;padding:22px}
 .company-v20 .access-map-v20{height:340px}
 .company-v20 .access-caveat-v20{max-width:560px}
}
@media(max-width:480px){
 .company-v20{padding:39px 0 46px}
 .company-v20 .company-title-v20{font-size:27px;margin-bottom:22px}
 .company-v20 .access-card-v20{padding:18px 16px;gap:18px;border-radius:13px}
 .company-v20 .access-details-v20 h3{font-size:18px;margin-bottom:8px}
 .company-v20 .access-message-v20{font-size:12px;padding:12px 13px 12px 14px;margin-top:16px}
 .company-v20 .access-address-v20{font-size:13px}
 .company-v20 .access-map-v20{height:295px}
 .company-v20 .access-map-overlay-v20{width:min(236px,calc(100% - 20px));padding:9px 11px}
 .company-v20 .access-map-overlay-v20 strong{font-size:12px}
 .company-v20 .access-map-overlay-v20 span{font-size:10px}
}



/* v2.1: consultation form matches the supplied reference section */
.email-contact-section{background:#f7f8fa;padding:64px 0 72px;color:#1a2a48;scroll-margin-top:78px}
.email-form-wrap{max-width:664px;margin:0 auto}
.email-contact-section h2{text-align:center;font-size:clamp(26px,3.2vw,33px);line-height:1.5;font-weight:900;letter-spacing:.02em;color:#143c91;margin:0 0 7px}
.email-form-intro{text-align:center;color:#455370;font-size:14px;line-height:1.65;margin:0 0 32px}
.email-contact-form,.email-contact-form *{box-sizing:border-box}
.email-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 18px}
.email-field{min-width:0}
.email-field--full{grid-column:1/-1}
.email-field label{display:flex;align-items:center;gap:9px;color:#1c2d4a;font-weight:800;font-size:13px;line-height:1.5;margin:0 0 8px}
.email-required{font-size:10px;line-height:1.2;color:#e84b57;background:#ffe9e9;padding:4px 7px;border-radius:4px;font-weight:700}
.email-optional{font-size:12px;color:#8994a7;font-weight:400}
.email-field input,.email-field textarea{display:block;width:100%;min-width:0;border:1px solid #dce1e9;border-radius:12px;background:#fff;color:#1c2b42;font-family:inherit;font-size:14px;padding:13px 15px;box-shadow:none;transition:border-color .15s,box-shadow .15s}
.email-field input{height:48px}
.email-field textarea{height:111px;min-height:111px;resize:vertical;line-height:1.7}
.email-field input::placeholder,.email-field textarea::placeholder{color:#9aa7be;opacity:1}
.email-field input:focus-visible,.email-field textarea:focus-visible{outline:none;border-color:#4676e8;box-shadow:0 0 0 3px #4676e826}
.email-field input[aria-invalid="true"]{border-color:#dc4557}
.email-form-actions{text-align:center;margin-top:35px}
.email-submit{appearance:none;cursor:pointer;border:0;border-radius:14px;background:#214ee0;color:#fff;font-family:inherit;font-size:15px;line-height:1.2;min-height:50px;min-width:min(100%,300px);padding:15px 24px;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:900;transition:background .15s,transform .15s}
.email-submit:hover{background:#173db7;transform:translateY(-1px)}
.email-submit:focus-visible{outline:3px solid #214ee066;outline-offset:3px}
.email-form-note{font-size:10px;color:#8994aa;line-height:1.8;margin:13px 0 0}
.email-form-unconfigured{font-size:11px;color:#65718c;line-height:1.7;margin:7px 0 0}
.email-form-feedback{min-height:1.3em;margin:7px 0 0;font-size:12px;font-weight:700;color:#b43c50;line-height:1.6}
@media(max-width:650px){.email-contact-section{padding:51px 0 62px}.email-form-wrap{max-width:100%}.email-contact-section h2{font-size:clamp(22px,6.4vw,29px);letter-spacing:-.02em;margin-bottom:11px}.email-form-intro{font-size:12px;line-height:1.85;margin-bottom:25px}.email-fields{grid-template-columns:minmax(0,1fr);gap:15px}.email-field--full{grid-column:auto}.email-field label{font-size:12px;margin-bottom:7px}.email-field input{height:46px}.email-field textarea{height:124px}.email-form-actions{margin-top:27px}.email-submit{max-width:100%;width:100%;font-size:14px}.email-note-break{display:none}.email-form-note,.email-form-unconfigured{font-size:10px}}

/* v2.2: consistency and honest placeholder treatment */
.local-portrait-draft{width:240px;height:170px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;border-radius:48% / 48%;background:#eff5fb;border:5px solid #fff;box-shadow:0 9px 22px rgba(28,61,104,.12);color:#647a9c;font-size:11px;font-weight:800}
.local-portrait-draft svg{max-height:132px;max-width:140px}
.local-portrait-draft span{margin-top:-2px;letter-spacing:.05em}
.review-score-pending{display:inline-block;padding:8px 18px;border-radius:50px;background:#edf2fc;color:#49629a;font-weight:800;font-size:15px}
.review-pending-marker{display:block;font-size:12px;font-weight:750;margin-top:6px;color:#7788a0}
.review-card-pending .review-text-v18{min-height:104px}
.review-google-link-disabled{background:#fff;opacity:.65;color:#65758b;border-color:#a9b5c8;cursor:not-allowed}
@media(max-width:650px){.local-portrait-draft{width:220px;height:166px}.review-card-pending .review-text-v18{min-height:84px}.review-score-pending{font-size:13px}}

/* Wide section title placed above the photo + lead text, matching the reference composition */
.local-grid-v19{position:relative;padding-top:86px}
.local-copy-v19 h2{position:absolute;top:0;left:0;right:0;margin:0;text-align:center;color:#0f47a1;font-size:clamp(27px,2.7vw,36px);line-height:1.34;letter-spacing:-.025em}
@media(max-width:850px){.local-grid-v19{padding-top:106px}}
@media(max-width:650px){.local-grid-v19{padding-top:116px}.local-copy-v19 h2{font-size:clamp(22px,6.3vw,27px);line-height:1.35}}


/* v2.5 — briefing section and consistent local/review palette */
#promise .promise-intro{max-width:790px;margin-bottom:35px}
#promise .promise-intro h2{color:#17418b;font-size:clamp(29px,3.3vw,42px);line-height:1.48;margin:9px 0 21px}
#promise .promise-intro-text{max-width:720px;margin:0 auto;text-align:left}
#promise .promise-intro-text p{color:#4d5d72;font-size:14px;line-height:1.95;margin:0 0 15px}
#promise .promise-intro-text p:last-child{margin-bottom:0}
/* Both blocks share the same soft-gray background and navy heading tone. */
#local-intro.local-section,#reviews.reviews-section{background:#f6f6f6}
#local-intro .local-copy-v19 h2,#reviews .section-title h2{color:#17418b}
#local-intro .local-lead-v19{color:#234b92}
#local-intro .local-copy-v19 p:not(.local-lead-v19){color:#505d72}
#local-intro .local-quote-v19{background:#eef2f9;border-left-color:#4676e8;color:#1e3765}
@media(max-width:650px){
 #promise .promise-intro{margin-bottom:28px}
 #promise .promise-intro h2{font-size:clamp(25px,7vw,31px);margin:7px 0 17px}
 #promise .promise-intro-text p{font-size:12px;line-height:1.95;margin-bottom:13px}
}


/* v2.7 | Three-section palette alignment — site primary deep green / fresh lime */
#local-intro.local-section,
#reviews.reviews-section{background:#f5f8f3}
#local-intro .local-copy-v19 h2,
#promise .promise-intro h2,
#reviews .section-title h2{color:#194d3e}
#local-intro .section-emphasis,
#promise .section-emphasis{
  color:#205d48;
  font-weight:900;
  background:linear-gradient(to bottom,transparent 69%,#e0efad 69%,#e0efad 93%,transparent 93%);
  -webkit-box-decoration-break:clone;
  box-decoration-break:clone;
  padding:0 .03em;
}
#local-intro .local-lead-v19{color:#286b52}
#local-intro .local-copy-v19 p:not(.local-lead-v19){color:#566d5e}
#local-intro .local-quote-v19{
  background:#edf5e9;
  border-left-color:#64a37a;
  color:#265541;
}
#local-intro .local-portrait-draft{
  background:#eaf4e8;
  color:#537561;
  box-shadow:0 9px 22px rgba(25,76,55,.10);
}
#promise .promise-intro-text p{color:#566b5e}
#reviews .section-title p{color:#60756a}
#reviews .section-title h2::after{
  content:"";
  display:block;
  width:56px;
  height:4px;
  border-radius:4px;
  margin:10px auto 0;
  background:#bddb77;
}
#reviews .review-score-pending{background:#e8f3e4;color:#286750}
#reviews .review-pending-marker{color:#668875}
#reviews .review-card-v18{
  border-color:#e1e9de;
  box-shadow:0 1px 0 #e5ebe2,0 12px 28px rgba(28,76,53,.06);
}
#reviews .review-avatar-v18{background:#2d7f61;color:#fff}
#reviews .review-header-v18 strong{color:#214b3c}
#reviews .review-text-v18{color:#516b5d}
#reviews .review-time-v18{color:#788a7e}
#reviews .owner-reply{background:#f0f6eb;border-left-color:#65a67d}
#reviews .owner-reply b{color:#2b704f}
#reviews .owner-reply p{color:#5b7061}
#reviews .review-arrow{color:#36745c;box-shadow:0 4px 18px rgba(26,71,49,.12)}
#reviews .review-arrow:hover{background:#f3f9ef}
#reviews .review-dots button{background:#cadac8}
#reviews .review-dots button.is-active{background:#367c59}
#reviews .review-google-link-disabled{
  background:#fff;
  color:#6a8172;
  border-color:#becfc0;
  opacity:1;
}


/* v2.8 | メールとアクセスの配色をサイト共通の深緑・若草色に統一 */
#email-request.email-contact-section{
  background:#f5f8f3;
  color:var(--ink);
}
#email-request h2,
#company .company-title-v20{
  color:#194d3e;
}
#email-request h2::after,
#company .company-title-v20::after{
  content:"";
  display:block;
  width:56px;
  height:4px;
  border-radius:999px;
  margin:10px auto 0;
  background:#bddb77;
}
#email-request .email-form-intro{color:#596e61}
#email-request .email-field label{color:#254b3c}
#email-request .email-optional,
#email-request .email-form-note,
#email-request .email-form-unconfigured{color:#778b7d}
#email-request .email-field input,
#email-request .email-field textarea{
  border-color:#d6e3d4;
  color:#203b2e;
  background:#fff;
}
#email-request .email-field input::placeholder,
#email-request .email-field textarea::placeholder{color:#8c9e91}
#email-request .email-field input:focus-visible,
#email-request .email-field textarea:focus-visible{
  border-color:#367f5d;
  box-shadow:0 0 0 3px rgba(54,127,93,.16);
}
#email-request .email-submit{
  background:#194d3e;
  color:#fff;
  box-shadow:0 4px 0 #10392c;
}
#email-request .email-submit:hover{background:#28674d}
#email-request .email-submit:focus-visible{outline:3px solid #bddb77;outline-offset:3px}
/* エラーと必須表示の赤は入力上の注意として維持する */
#company.company-v20{background:#fff;border-top-color:#e3ebdf}
#company .access-card-v20{
  border-color:#dfe8dc;
  box-shadow:0 4px 18px rgba(25,76,55,.04);
}
#company .access-overline-v20{color:#2c7956}
#company .access-details-v20 h3{color:#1c4436}
#company .access-address-v20{color:#506958}
#company .access-message-v20{
  background:#edf5e9;
  border-left-color:#64a37a;
  color:#265541;
}
#company .access-message-v20 strong{color:#194d3e}
#company .access-caveat-v20{color:#75887b}
#company .access-map-v20{border-color:#e0eadd;background:#eef4ec}
#company .access-map-overlay-v20{box-shadow:0 3px 14px rgba(25,76,55,.15)}
#company .access-map-overlay-v20 strong{color:#214b3c}
#company .access-map-overlay-v20 span{color:#698070}
#company .access-map-overlay-v20 a{background:#246e50;color:#fff}
#company .access-map-overlay-v20 a:hover{background:#194d3e}
#company .access-map-overlay-v20 a:focus-visible{outline:3px solid #bddb77;outline-offset:3px}


/* v3.0: ヒーローの速報ラベルを整列して読みやすくする */
.speed-label{
  display:inline-grid;
  grid-template-columns:10px max-content max-content;
  align-items:center;
  justify-items:start;
  column-gap:11px;
  row-gap:0;
  padding:11px 17px;
  max-width:100%;
  width:max-content;
  border-radius:999px;
  line-height:1.3;
  flex-wrap:initial;
  text-align:left;
}
.speed-label .speed-dot{display:block;width:9px;height:9px;margin:0;align-self:center}
.speed-label .speed-txt{display:block;font-size:12px;line-height:1.3;white-space:nowrap;align-self:center}
.speed-label strong{display:flex;gap:7px;align-items:baseline;font-size:15px;line-height:1.25;white-space:nowrap;letter-spacing:0;margin:0}
.speed-label strong b{font-size:23px;line-height:1.1;letter-spacing:0;white-space:nowrap}
@media(max-width:650px){
 .speed-label{
   grid-template-columns:9px auto;
   row-gap:6px;
   column-gap:8px;
   padding:10px 14px 11px;
   border-radius:16px;
   max-width:100%;
 }
 .speed-label .speed-dot{width:8px;height:8px}
 .speed-label .speed-txt{font-size:11px;line-height:1.25}
 .speed-label strong{grid-column:1/-1;display:flex;align-items:baseline;gap:8px;font-size:13px;line-height:1.25;margin-top:1px}
 .speed-label strong b{font-size:21px;line-height:1.2}
}
@media(max-width:360px){.speed-label{padding:9px 12px 10px;gap:6px 7px}.speed-label .speed-txt{font-size:10px}.speed-label strong{font-size:12px;gap:6px}.speed-label strong b{font-size:19px}}

/* v3.1: ヘッダー「大阪市専門」を視認しやすく強調 */
.brand-name .brand-subline{display:flex;align-items:center;flex-wrap:wrap;gap:4px 7px;margin-top:6px;letter-spacing:0;line-height:1.4;color:#4e6860}
.brand-name .brand-area{display:inline-block;padding:3px 8px;border-radius:4px;background:#d8f06b;color:#153e34;font-size:11px;font-weight:900;letter-spacing:.035em;white-space:nowrap}
.brand-name .brand-focus{font-size:10px;font-weight:700;letter-spacing:.01em;white-space:nowrap}
@media(max-width:650px){
 .brand-name .brand-subline{margin-top:5px;gap:3px 5px;max-width:230px}
 .brand-name .brand-area{font-size:11px;padding:2px 6px}
 .brand-name .brand-focus{font-size:8px}
}
@media(max-width:365px){
 .brand-name .brand-subline{max-width:204px;gap:3px 4px}
 .brand-name .brand-area{font-size:10px;padding:2px 5px}
 .brand-name .brand-focus{font-size:7px}
}


/* v3.2: 速報ポップアップの文字を縦中央で揃える（baseline依存を解消） */
.speed-label{
  display:inline-flex;
  align-items:center;
  flex-wrap:nowrap;
  gap:0;
  padding:10px 16px;
  max-width:100%;
  width:max-content;
  line-height:1;
  white-space:nowrap;
}
.speed-label .speed-dot{
  display:block;
  width:9px;height:9px;
  flex:none;
  margin:0 11px 0 0;
  align-self:center;
}
.speed-label .speed-txt{
  display:inline-flex;
  height:27px;
  align-items:center;
  flex:none;
  margin-right:14px;
  font-size:12px;
  line-height:1;
  white-space:nowrap;
}
.speed-label .speed-message{
  display:inline-flex;
  align-items:center;
  justify-content:flex-start;
  flex:none;
  gap:7px;
  height:27px;
  margin:0;
  line-height:1;
  font-size:15px;
  letter-spacing:0;
  white-space:nowrap;
}
.speed-label .speed-location,
.speed-label .speed-emphasis{
  display:inline-flex;
  align-items:center;
  height:27px;
  line-height:1;
  white-space:nowrap;
}
.speed-label .speed-emphasis{
  font-size:23px;
  font-weight:900;
}
@media(max-width:650px){
  .speed-label{
    display:inline-grid;
    grid-template-columns:8px max-content;
    align-items:center;
    gap:5px 8px;
    padding:9px 13px 10px;
    border-radius:16px;
  }
  .speed-label .speed-dot{width:8px;height:8px;margin:0}
  .speed-label .speed-txt{font-size:11px;line-height:1;height:16px;margin:0}
  .speed-label .speed-message{
    grid-column:1/-1;
    height:26px;
    display:inline-flex;
    align-items:center;
    gap:8px;
    font-size:13px;
    line-height:1;
    margin:0;
  }
  .speed-label .speed-location,.speed-label .speed-emphasis{height:26px;line-height:1}
  .speed-label .speed-emphasis{font-size:21px}
}
@media(max-width:360px){
  .speed-label{padding:8px 12px 9px;gap:5px 7px}
  .speed-label .speed-txt{font-size:10px}
  .speed-label .speed-message{gap:6px;font-size:12px;height:24px}
  .speed-label .speed-location,.speed-label .speed-emphasis{height:24px}
  .speed-label .speed-emphasis{font-size:19px}
}


/* v3.3 tweaks */
#local-intro .local-lead-v19{font-size:16px;line-height:1.8} 
.quality-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;align-items:stretch}
.quality-item{background:#eef4ef;border:1px solid #e2ebe3;border-radius:12px;min-height:74px;padding:14px 12px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;text-align:center;box-shadow:none}
.quality-item svg{width:22px;height:22px;color:#2d63db;margin:0;flex:none}
.quality-item strong{display:block;font-size:16px;line-height:1.35;margin:0;color:#173f34;font-weight:800}
.quality-item span{display:none}
@media(max-width:650px){
  #local-intro .local-lead-v19{font-size:14px}
  .quality-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .quality-item{min-height:68px;padding:12px 10px;gap:8px}
  .quality-item strong{font-size:13px;line-height:1.35}
  .quality-item svg{width:20px;height:20px}
}


/* v3.4 — 安心ポイント：2列×2行とブランドカラーのチェック */
#promise .quality-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  width:min(100%,780px);
  max-width:780px;
  margin:28px auto 0;
  gap:16px;
  align-items:stretch;
}
#promise .quality-item{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  gap:9px;
  min-height:108px;
  padding:17px 16px;
  border:1px solid #dce8d8;
  border-radius:14px;
  background:#eff5e9;
  box-shadow:0 3px 12px rgba(20,56,41,.04);
}
#promise .quality-item svg{
  display:block;
  flex:0 0 auto;
  width:30px;
  height:30px;
  margin:0;
  color:#205d48;
}
#promise .quality-item svg circle{
  fill:#205d48;
  stroke:#205d48;
}
#promise .quality-item svg path{
  stroke:#d8f06b;
  stroke-width:2.2;
}
#promise .quality-item strong{
  margin:0;
  font-size:16px;
  line-height:1.45;
  font-weight:800;
  color:#173d32;
}
@media(max-width:650px){
  #promise .quality-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:22px}
  #promise .quality-item{min-height:99px;padding:13px 8px;gap:8px;border-radius:12px}
  #promise .quality-item svg{width:27px;height:27px}
  #promise .quality-item strong{font-size:13px;line-height:1.45}
}


/* v3.5: 強調の基準をメーカーの代表例(MIWA・GOAL)に統一 */
.maker-strip .maker-row span,
.maker-strip .maker-row .maker-red,
.maker-strip .maker-row .maker-green {
  color:#3b534d;
}
.maker-strip .maker-row span.maker-featured {
  color:#096b4b;
  text-decoration:underline;
  text-decoration-color:#b9d85d;
  text-decoration-thickness:2px;
  text-underline-offset:4px;
}


/* v3.6 specialty image cards */
.special-art{padding:0;display:block}
.special-art img{width:100%;height:100%;display:block;object-fit:cover;object-position:center center}
.special-card:first-child .special-art img{object-position:center 35%}
.special-card:nth-child(2) .special-art img{object-position:center center}
.special-card:nth-child(3) .special-art img{object-position:center center}
@media(max-width:650px){
  .special-art{min-height:155px}
  .special-art img{height:100%}
}
/* WP theme image handling */
.kr-staff-upload{display:block;width:100%;height:100%;max-width:260px;max-height:280px;object-fit:cover;border-radius:50%;margin:auto}
.kr-hero-custom-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:14px;z-index:1}
.hero-visual.kr-has-hero-image .hero-svg{display:none}
.hero-visual.kr-has-hero-image .visual-sticker{z-index:2}
.hero-visual.kr-has-hero-image .hero-circle{opacity:.25}
/* WordPress toolbar sometimes overlaps fixed header */
body.admin-bar .header{z-index:100}
body.admin-bar .mobile-nav nav{z-index:101}
.kr-content-wrap{background:#f6f8f5;min-height:55vh;padding:52px 0 75px}
.kr-content-card{max-width:940px;margin:0 auto;padding:32px;background:white;border:1px solid #e1e9e0;border-radius:14px}
.kr-content-card h1{font-size:clamp(28px,4vw,40px);line-height:1.4;margin-top:0;color:#17483c}
.kr-content-card p,.kr-content-card li{color:#485d52;line-height:1.9;font-size:15px}
.kr-content-card h2{font-size:24px;margin-top:28px;color:#17483c}
.kr-content-card a:not(.button){color:#237a5c;text-decoration:underline}
.kr-archive-list{display:grid;gap:16px;grid-template-columns:repeat(2,minmax(0,1fr))}
.kr-archive-item{border:1px solid #dce8df;border-radius:12px;background:white;padding:24px;color:#183f33;text-decoration:none}
.kr-archive-item h2{margin:8px 0;font-size:20px}
@media(max-width:650px){.kr-archive-list{grid-template-columns:1fr}.kr-content-card{padding:22px 18px}.kr-staff-upload{max-width:230px;max-height:230px}}
