:root{--green:#176018;--deep:#0c4812;--cream:#fbf8f3;--line:#ddd6cc;--red:#cf0000;--ink:#191511}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:"Yu Gothic","Hiragino Kaku Gothic ProN",sans-serif;background:linear-gradient(115deg,#74c3f2 0,#eefaff 22%,#fff 42%,#eefaff 78%,#62b7ed 100%);line-height:1.6}.page-shell{width:min(914px,100%);margin:auto;background:#fff;min-height:100vh;box-shadow:0 0 42px #287cad2e}.site-header{height:48px;display:flex;align-items:center;padding:0 20px;border-bottom:1px solid #d6cec3;background:#fff}.brand{color:#18120f;text-decoration:none;font-weight:800;letter-spacing:.08em}.house{font-size:30px;vertical-align:-3px;margin-right:8px}.hero{height:270px;position:relative;overflow:hidden;background:#f7f1e9}.hero-photo{width:100%;height:100%;object-fit:cover}.hero-copy{position:absolute;inset:10px auto 10px 70px;width:320px}.eyebrow{display:none}.hero h1{font-family:serif;font-size:34px;line-height:1.17;letter-spacing:.08em;margin:0 0 10px}.hero h1 em{font-style:normal;color:var(--green)}.hero-copy>p:last-child{font-size:12px;font-weight:700;width:220px;margin:0}.area-badge{position:absolute;right:55px;bottom:14px;width:92px;height:92px;border-radius:50%;background:#ffffffe8;display:grid;place-content:center;text-align:center;font-size:12px;font-weight:700;box-shadow:0 5px 15px #0001}.area-badge strong{font-size:16px}.features{margin:-2px auto 0;width:82%;height:58px;display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);border-radius:6px;background:#fff;position:relative}.features div{display:flex;align-items:center;gap:10px;justify-content:center;color:var(--green);font-size:21px}.features div+div{border-left:1px solid #eee}.features span{color:#222;font-size:10px;font-weight:700}.section{width:82%;margin:12px auto}.section h2{margin:0 0 8px;text-align:center;font-family:serif;font-size:17px;letter-spacing:.06em}.trouble-grid{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);border-radius:6px;overflow:hidden}.trouble-grid article{display:flex;align-items:center;min-height:48px;padding:5px 10px;gap:10px;font-size:9px;font-weight:700;border-right:1px solid #e8e1d9;border-bottom:1px solid #e8e1d9}.trouble-grid article:nth-child(4n){border-right:0}.trouble-grid article:nth-child(n+5){border-bottom:0}.trouble-grid b{font-size:22px;font-weight:400}.promise{display:grid;grid-template-columns:1fr 1.25fr;background:linear-gradient(100deg,#fbf7f0,#fff);border-radius:6px;padding:14px 18px}.promise-lead{display:flex;gap:12px;align-items:center}.check{width:55px;height:55px;border:5px solid var(--green);border-radius:50%;font-size:35px;color:var(--green);display:grid;place-content:center;font-weight:900}.promise h2{text-align:left;font-size:11px;margin:0}.promise strong{font-size:17px}.promise p{font-size:8px;line-height:1.6}.promise ol{list-style:none;margin:0;padding:0}.promise li{height:33%;display:flex;align-items:center;gap:14px;font-size:10px;font-weight:700;border-bottom:1px solid #ddd}.promise li:last-child{border:0}.promise li span{color:#fff;background:var(--green);border-radius:50%;width:23px;height:23px;display:grid;place-content:center}.flow ol{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.flow li{position:relative;border:1px solid #ddd;border-radius:6px;text-align:center;font-size:9px;font-weight:700;padding:5px}.flow li:not(:last-child):after{content:"▶";position:absolute;right:-13px;top:40%;color:var(--green)}.flow li b{display:block;text-align:left}.flow li i{display:block;font-style:normal;font-size:26px}.flow>p{text-align:center;font-size:8px}.green-band{display:block;margin:10px auto;width:82%;background:linear-gradient(#237a21,#0d4d10);color:#fff;text-align:center;font-size:18px;font-weight:800;letter-spacing:.15em;border-radius:3px;padding:4px;text-decoration:none}.service-grid{display:grid;grid-template-columns:repeat(8,1fr);gap:6px}.service-grid article{min-width:0;text-align:center;border:1px solid #ded9d4;border-radius:6px;overflow:hidden}.service-img{height:56px;background-image:url(../images/services.webp);background-size:400% 200%}.s1{background-position:0 0}.s2{background-position:33.333% 0}.s3{background-position:66.666% 0}.s4{background-position:100% 0}.s5{background-position:0 100%}.s6{background-position:33.333% 100%}.s7{background-position:66.666% 100%}.s8{background-position:100% 100%}.service-grid h3{font-size:10px;margin:5px 2px 0;line-height:1.3}.service-grid p{font-size:7px;margin:0 2px 5px;line-height:1.4}.pros{position:relative;background:linear-gradient(100deg,#faf6f0,#fff);border-radius:6px;padding:10px 20px;min-height:135px}.pros h2{font-size:16px}.pros ul{margin:10px 130px 0 45%;font-size:9px;padding:0;list-style:"✓  ";line-height:1.8}.pros li::marker{color:var(--green);font-weight:900}.pro-visual{position:absolute;left:40px;bottom:0;display:flex;align-items:end}.pro-visual span{width:38px;height:83px;margin-left:-5px;border-radius:20px 20px 0 0;background:linear-gradient(#22475b,#091e28);color:#fff;display:grid;place-content:center;font-weight:900}.pro-visual span:nth-child(even){height:93px;background:linear-gradient(#bbb,#555)}.kumamoto{position:absolute;right:35px;bottom:25px;width:80px;height:70px;background:#d9ead3;color:var(--green);font-size:10px;display:grid;place-content:center;clip-path:polygon(20% 0,75% 8%,100% 45%,70% 65%,67% 100%,20% 85%,0 50%)}.summary{padding:12px 20px;background:#f5faf3;border-left:5px solid var(--green)}.summary h2{text-align:left}.summary p{font-size:11px;margin:0}footer{padding:24px 9% 100px;background:#113f18;color:#fff;display:flex;gap:22px;align-items:center;justify-content:center;font-size:12px}footer a{color:#fff;font-size:17px;font-weight:800}.pc-cta{position:fixed;top:40px;left:calc(50% + 487px);width:150px;text-align:center;z-index:5}.quake,.contact{border:4px solid #fff;border-radius:12px;box-shadow:0 3px 8px #0005;color:#fff}.quake{background:linear-gradient(#da0000,#a90000);padding:12px 10px}.quake>b{display:block;font-size:30px;color:#ffeb00}.quake strong{font-size:20px;line-height:1.4}.quake p{background:#fff;color:#bd0000;font-size:10px;font-weight:800;padding:7px}.quake a{display:block;background:#fff;color:#bd0000;text-decoration:none;padding:7px;border-radius:4px;font-weight:700}.contact{margin-top:18px;background:linear-gradient(#27881b,#145408);padding:8px}.contact a{display:flex;gap:8px;align-items:center;color:#fff;text-decoration:none;padding:15px 2px;font-size:24px}.contact a+a{border-top:1px solid #fff}.contact span{font-size:13px}.contact b{font-size:17px;color:#ffec00}.sp-cta{display:none}.recruit{margin-bottom:16px}
@media(max-width:1250px){.pc-cta{display:none}}@media(max-width:767px){body{background:#fff}.page-shell{box-shadow:none}.site-header{height:60px;padding:0 16px}.brand{font-size:15px}.hero{height:348px}.hero-photo{position:absolute;right:-145px;width:auto;height:100%;object-fit:cover}.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#fff 4%,#fffc 47%,transparent 75%)}.hero-copy{z-index:1;left:28px;top:20px;width:245px}.hero h1{font-size:31px}.hero-copy>p:last-child{font-size:11px;width:220px}.area-badge{z-index:2;right:28px;bottom:24px;width:110px;height:110px}.features{width:87%;height:88px;margin:-1px auto 0}.features div{flex-direction:column;gap:3px;font-size:25px;text-align:center}.features span{font-size:8px}.section,.green-band{width:87%;margin-top:16px}.section h2{font-size:16px}.trouble-grid{grid-template-columns:repeat(2,1fr)}.trouble-grid article{min-height:60px;font-size:10px;border-right:1px solid #e8e1d9!important;border-bottom:1px solid #e8e1d9!important}.trouble-grid article:nth-child(2n){border-right:0!important}.trouble-grid article:nth-last-child(-n+2){border-bottom:0!important}.promise{grid-template-columns:1fr;padding:16px}.promise strong{font-size:19px}.promise p{font-size:10px}.promise ol{margin-top:10px}.promise li{min-height:42px}.flow ol{gap:7px}.flow li{font-size:8px;padding:4px 2px}.flow li:not(:last-child):after{right:-8px;font-size:8px}.green-band{font-size:15px;padding:8px 4px}.service-grid{grid-template-columns:repeat(2,1fr);gap:10px}.service-img{height:95px}.service-grid h3{font-size:13px}.service-grid p{font-size:9px}.pros{padding:14px;min-height:260px}.pros h2{font-size:16px}.pros ul{margin:120px 8px 0;font-size:10px}.pro-visual{left:20px;bottom:auto;top:58px}.kumamoto{right:25px;top:75px}.summary{margin-bottom:20px}.summary p{font-size:10px}footer{padding-bottom:145px;flex-direction:column;gap:4px}.sp-cta{display:block;position:fixed;z-index:20;left:0;right:0;bottom:0;color:#fff;text-align:center;box-shadow:0 -2px 10px #0004}.sp-quake{background:#d40000;border-top:5px dashed #ffe000;line-height:1.2;padding:3px 8px}.sp-quake strong,.sp-quake span,.sp-quake small{display:block}.sp-quake strong{color:#fff000;font-size:15px}.sp-quake span{font-size:9px;background:#fff;color:#c00;margin:2px auto;max-width:340px}.sp-quake small{font-size:8px;color:#fff000}.sp-actions{display:grid;grid-template-columns:1fr 1fr;background:var(--green)}.sp-actions a{padding:9px 3px;color:#fff;text-decoration:none;font-size:12px;font-weight:700}.sp-actions a+a{border-left:1px solid #fff}.recruit{margin-bottom:18px}}
@media(max-width:390px){.hero h1{font-size:28px}.hero-copy{left:22px}.area-badge{right:14px}.features{width:92%}.section,.green-band{width:92%}.service-img{height:85px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Reference-accurate accounting, process and local-pro sections */
.promise{display:block;padding:10px 16px 12px;background:linear-gradient(105deg,#fcf9f5,#f7f3ee 55%,#fff);border-radius:8px}
.promise>h2{font-size:18px;margin:0 0 5px;line-height:1.25}.promise>h2 span,.flow>h2 span{color:#4f9147;font-weight:400}
.promise-body{display:grid;grid-template-columns:1fr 1.06fr;gap:18px;align-items:stretch}
.promise-lead{align-items:center;gap:18px;padding:2px 0}.check{flex:0 0 67px;width:67px;height:67px;border-width:5px;font-size:43px}
.promise-lead strong{font-family:serif;font-size:21px;letter-spacing:.05em;line-height:1.28}.promise-lead p{font-family:serif;font-size:10px;font-weight:700;line-height:1.45;margin:7px 0 0}
.promise ol{background:#fff;border-radius:7px;padding:2px 14px}.promise li{position:relative;height:34px;display:grid;grid-template-columns:28px 48px 1fr;gap:7px;border-bottom:1px dashed #b8c9b4;font-size:10px}
.promise li span{width:22px;height:22px}.promise li i{font-style:normal;font-size:27px;line-height:1;color:#211713;text-align:center}.promise li b{font-family:serif;font-size:11px}
.flow{padding:8px 16px 7px;background:linear-gradient(105deg,#fcf9f5,#f7f3ee 55%,#fff);border-radius:8px}.flow>h2{font-size:17px;line-height:1.25;margin-bottom:7px}.flow ol{gap:15px}.flow li{height:106px;border-color:#d9d2ca;background:#fff;border-radius:8px;padding:5px 4px;font-family:serif;font-size:10px}.flow li:not(:last-child):after{right:-15px;top:42%;font-size:15px}.flow li b{padding-left:12px;color:var(--green);font-size:12px;line-height:1}.flow li i{font-size:32px;line-height:1.2;margin:3px 0;color:#211713}.flow li strong{font-size:10px;line-height:1.25}.flow>p{font-family:serif;font-size:10px;font-weight:700;margin:6px 0 0}
.pros{height:152px;min-height:0;padding:9px 20px;overflow:hidden}.pros h2{font-size:16px;position:relative;z-index:2}.pro-visual{position:absolute;left:25px;bottom:-20px;width:310px;height:auto;object-fit:contain;z-index:1}.pros ul{position:relative;z-index:2;margin:14px 105px 0 43%;font-size:9px;line-height:1.9}.kumamoto{position:absolute;right:18px;bottom:8px;width:105px;height:100px;background:#d9ead3;clip-path:none;color:transparent;display:block;-webkit-mask:url(../images/kumamoto-map.webp) center/contain no-repeat;mask:url(../images/kumamoto-map.webp) center/contain no-repeat;mask-mode:luminance;opacity:.95}
@media(max-width:767px){.promise{padding:12px}.promise>h2{font-size:15px}.promise-body{grid-template-columns:1fr;gap:9px}.promise-lead{gap:14px}.check{flex-basis:62px;width:62px;height:62px}.promise-lead strong{font-size:19px}.promise-lead p{font-size:10px}.promise li{min-height:40px;height:40px;grid-template-columns:27px 42px 1fr}.promise li b{font-size:10px}.flow{padding:10px 8px}.flow>h2{font-size:13px}.flow ol{gap:8px}.flow li{height:100px}.flow li:not(:last-child):after{right:-9px;font-size:10px}.flow li b{padding-left:4px}.flow li i{font-size:27px}.flow li strong{font-size:8px}.flow>p{font-size:9px}.pros{height:300px;min-height:0;padding:14px}.pros h2{font-size:15px}.pro-visual{left:4%;top:55px;bottom:auto;width:70%;max-width:330px}.pros ul{margin:172px 2px 0;font-size:10px;line-height:1.75}.kumamoto{right:4%;top:70px;bottom:auto;width:31%;height:100px}}

/* V4 header lockup — matched to the supplied PC/SP mocks */
.site-header{height:43px;padding:0 18px}
.brand{height:100%;display:inline-flex;align-items:center;gap:10px;color:#18120f;text-decoration:none;letter-spacing:normal}
.brand-title{font-family:"Yu Gothic","Hiragino Kaku Gothic ProN",sans-serif;font-size:13px;font-weight:800;line-height:1;letter-spacing:.055em;white-space:nowrap}
.brand-mark{--mark:#21110b;position:relative;display:block;width:31px;height:29px;flex:0 0 31px}
.brand-mark:before,.brand-mark:after{content:"";position:absolute;top:7px;width:20px;height:3px;border-radius:99px;background:var(--mark)}
.brand-mark:before{left:0;transform:rotate(-40deg);transform-origin:left center}
.brand-mark:after{right:0;transform:rotate(40deg);transform-origin:right center}
.brand-mark i{position:absolute;left:10px;top:18px;width:4.5px;height:4.5px;border-radius:.6px;background:var(--mark);box-shadow:7px 0 var(--mark),0 7px var(--mark),7px 7px var(--mark)}
@media(max-width:767px){.site-header{height:60px;padding:0 29px}.brand{gap:12px}.brand-title{font-size:17px;letter-spacing:.07em}.brand-mark{width:42px;height:38px;flex-basis:42px}.brand-mark:before,.brand-mark:after{top:8px;width:27px;height:4px}.brand-mark i{left:14px;top:24px;width:6px;height:6px;border-radius:1px;box-shadow:9px 0 var(--mark),0 9px var(--mark),9px 9px var(--mark)}}
.brand-logo{display:block;width:31px;height:auto;flex:0 0 31px}
@media(max-width:767px){.brand-logo{width:42px;flex-basis:42px}}

/* V4 first-view framing and service-area badge */
.area-badge{right:48px;bottom:16px;width:110px;height:110px;padding:14px;background:#e8f1e3;color:#174d1b;border:1px solid #cbdcc5;box-shadow:0 4px 14px rgba(28,71,28,.12);line-height:1.55}
.area-badge strong{color:#103f16}
@media(max-width:767px){.hero{height:300px}.hero-photo{right:-125px;height:300px}.area-badge{right:20px;bottom:14px;width:106px;height:106px;padding:12px;background:#e8f1e3;color:#174d1b}.area-badge strong{color:#103f16}}
@media(min-width:391px) and (max-width:767px){.hero{height:310px}.hero-photo{right:-128px;height:310px}}

/* V4 SP first-view copy/portrait separation */
@media(max-width:767px){.hero-photo{right:-155px}.hero-copy{width:215px}.hero h1{font-size:26px;line-height:1.18}.hero-copy>p:last-child{width:195px;font-size:10px;line-height:1.7}}
@media(min-width:391px) and (max-width:767px){.hero-photo{right:-158px}}

/* V4 supplied FV service-area artwork */
.area-badge{display:block;right:40px;bottom:10px;width:126px;height:126px;padding:0;border:0;border-radius:0;background:none;color:inherit;box-shadow:none;object-fit:contain}
@media(max-width:767px){.area-badge{right:12px;bottom:8px;width:116px;height:116px;padding:0;border:0;border-radius:0;background:none;box-shadow:none}}

/* V4 background-photo fade into the first-view base color */
.hero{background:#f7f3ed}
.hero-photo{-webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 72%,rgba(0,0,0,.92) 79%,rgba(0,0,0,.55) 90%,transparent 100%);mask-image:linear-gradient(to bottom,#000 0%,#000 72%,rgba(0,0,0,.92) 79%,rgba(0,0,0,.55) 90%,transparent 100%)}

/* Desktop: carry the photo into the upper half of the four-column row, then
   finish the fade at the row centre. Keep the approved mobile fade intact. */
@media(min-width:768px){
  .hero{height:313px}
  .hero-photo{-webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 65%,rgba(0,0,0,.82) 76%,rgba(0,0,0,.38) 90%,transparent 100%);mask-image:linear-gradient(to bottom,#000 0%,#000 65%,rgba(0,0,0,.82) 76%,rgba(0,0,0,.38) 90%,transparent 100%)}
  .area-badge{bottom:46px}
  .features{z-index:3;height:87px;margin:-44px auto 0;background:rgba(255,255,255,.9)}
}

@media(min-width:1251px){
  .quake{height:315px}
  .quake{display:flex;flex-direction:column;justify-content:center;gap:14px}
  .quake>b,.quake strong,.quake p,.quake a{margin-top:0;margin-bottom:0}
  .contact{display:flex;flex-direction:column;height:240px}
  .contact a{flex:1;justify-content:center}
  .contact a:first-child{gap:4px;font-size:20px}
  .contact a:first-child span{font-size:13px;line-height:1.35}
  .contact a:first-child b{font-size:14px;white-space:nowrap}
}

/* V4 footer information hierarchy */
.site-footer{padding:28px 9% 34px;display:flex;flex-direction:column;gap:3px;text-align:center;font-size:13px;line-height:1.7;background-color:#113f18;background-image:radial-gradient(ellipse at 15% 28%,rgba(255,255,255,.09) 0,rgba(255,255,255,0) 32%),radial-gradient(ellipse at 82% 72%,rgba(0,0,0,.14) 0,rgba(0,0,0,0) 36%),repeating-linear-gradient(8deg,rgba(255,255,255,.028) 0 1px,transparent 1px 5px),repeating-linear-gradient(97deg,rgba(0,0,0,.022) 0 1px,transparent 1px 7px),linear-gradient(135deg,#123f19 0%,#195523 48%,#0d3814 100%)}
.footer-title{display:flex;align-items:center;justify-content:center;gap:12px;margin-bottom:5px}
.footer-title img{width:38px;height:30px;object-fit:contain;filter:brightness(0) invert(1)}
.footer-title strong{font-size:22px;line-height:1.3;letter-spacing:.08em}
.site-footer p,.site-footer address{margin:0;font:inherit;font-style:normal}
.site-footer a{color:#fff;font-size:14px;font-weight:800;text-decoration:none}
@media(max-width:767px){
  .site-footer{padding:28px 18px 230px;gap:5px;border-top:3px solid rgba(255,255,255,.16);line-height:1.8}
  .footer-title{gap:10px;margin-bottom:7px}
  .footer-title img{width:34px;height:27px}
  .footer-title strong{font-size:19px;letter-spacing:.055em}
  .site-footer p,.site-footer address{font-size:11.5px}
  .site-footer a{font-size:15px}
}

/* Tablet FV: keep the copy clear while allowing the right-side portrait to crop */
@media(min-width:768px) and (max-width:900px){
  .hero-photo{position:absolute;inset:0 auto 0 54px;width:100%;height:100%;object-fit:cover}
  .hero-copy{left:34px;width:280px}
  .hero h1{font-size:30px;line-height:1.16}
  .hero-copy>p:last-child{width:215px;font-size:10.5px;line-height:1.65}
  .area-badge{right:14px;bottom:42px;width:108px;height:108px}
}

/* Match the fade destination to the white section below */
.hero{background:#fff}

/* V4 supplied-reference feature icons */
.feature-icon{display:block;width:46px;height:46px;flex:0 0 46px;object-fit:contain}
.features span{font-weight:800}
@media(min-width:768px){.features div{gap:13px}.features span{font-size:11px;line-height:1.75}}
@media(max-width:767px){.feature-icon{width:48px;height:48px;flex-basis:48px}}

/* V4 supplied-reference trouble icons and readable item copy */
.trouble-grid article{font-size:12px;line-height:1.55}
.trouble-icon{display:block;width:40px;height:40px;flex:0 0 40px;object-fit:contain}
@media(max-width:767px){.trouble-grid article{font-size:12px}.trouble-icon{width:40px;height:40px;flex-basis:40px}}

/* V4 supplied-reference clear-pricing panel */
.promise{background:#f3ede4;font-family:"Yu Gothic","Hiragino Kaku Gothic ProN",sans-serif}
.promise>h2,.promise-lead strong,.promise-lead p,.promise li b{font-family:"Yu Gothic","Hiragino Kaku Gothic ProN",sans-serif}
.promise ol{background:rgba(255,255,255,.9)}
.promise-check{display:block;width:67px;height:67px;flex:0 0 67px;object-fit:contain}
.promise-step-icon{display:block;width:38px;height:34px;object-fit:contain;justify-self:center}
@media(max-width:767px){.promise-check{width:62px;height:62px;flex-basis:62px}.promise-step-icon{width:36px;height:33px}}

/* V4 supplied-reference one-stop process icons */
.flow-icon{display:block;width:40px;height:40px;margin:3px auto;object-fit:contain}
@media(max-width:767px){.flow-icon{width:36px;height:36px;margin:2px auto}}

/* V4 square service imagery and rebuilt card copy area */
.service-grid{align-items:stretch}
.service-grid article{display:grid;grid-template-rows:auto minmax(32px,auto) minmax(28px,auto);align-content:start;background:#fff;border-color:#d8d2cb;border-radius:7px}
.service-img{width:100%;height:auto;aspect-ratio:1/1;background-image:url(../images/services.webp);background-size:400% 200%;background-repeat:no-repeat;background-color:#f3f0eb}
.service-grid h3{display:flex;align-items:center;justify-content:center;min-height:40px;margin:0;padding:6px 3px 2px;font-size:11px;line-height:1.35}
.service-grid p{display:flex;align-items:flex-start;justify-content:center;min-height:34px;margin:0;padding:2px 3px 7px;font-size:9px;line-height:1.45}
@media(max-width:767px){
  .service-grid article{grid-template-rows:auto minmax(38px,auto) minmax(34px,auto)}
  .service-img{height:auto;aspect-ratio:1/1}
  .service-grid h3{min-height:38px;margin:0;padding:7px 5px 2px;font-size:13px}
  .service-grid p{min-height:34px;margin:0;padding:2px 5px 8px;font-size:9px}
}

/* V4 local-pro panel: independent image, copy and map areas */
.pros{height:auto;min-height:0;padding:9px 20px 0;overflow:hidden}
.pros h2{position:relative;z-index:auto;margin-bottom:3px}
.pros-content{display:grid;grid-template-areas:"people list map";grid-template-columns:minmax(0,38%) minmax(0,1fr) 105px;gap:14px;align-items:center;min-height:118px}
.pro-visual{grid-area:people;position:static;display:block;width:100%;height:118px;object-fit:contain;object-position:center bottom;z-index:auto}
.pros ul{grid-area:list;position:static;z-index:auto;margin:0;padding-left:18px;font-size:9px;line-height:1.9}
.kumamoto{grid-area:map;position:static;display:block;width:100%;height:105px;object-fit:contain;background:none;clip-path:none;color:inherit;-webkit-mask:none;mask:none;opacity:1}
@media(max-width:767px){
  .pros{height:auto;min-height:0;padding:14px 14px 10px}
  .pros-content{grid-template-areas:"people map" "list list";grid-template-columns:minmax(0,1fr) 31%;gap:8px 10px;min-height:0}
  .pro-visual{position:static;width:100%;max-width:none;height:120px;object-fit:contain}
  .pros ul{margin:0;padding-left:20px;font-size:10px;line-height:1.75}
  .kumamoto{position:static;width:100%;height:105px;object-fit:contain}
}

/* V4 pro-panel alignment and supplied-reference check marks */
.pros-content{grid-template-columns:minmax(0,38%) minmax(0,1fr) 120px;min-height:132px}
.pro-visual{height:132px}
.kumamoto{height:132px}
.pros ul{list-style:none;padding-left:0}
.pros li{position:relative;padding-left:21px}
.pros li::before{content:"";position:absolute;left:0;top:.27em;width:15px;height:15px;background:url(../images/pros-check.png) center/contain no-repeat}
.pros li::marker{content:""}
@media(max-width:767px){
  .pros-content{grid-template-areas:"people" "list";grid-template-columns:1fr;justify-items:center;gap:8px}
  .pro-visual{width:88%;height:135px;margin:0 auto}
  .pros ul{justify-self:center;width:max-content;max-width:100%;margin:0;text-align:left}
  .kumamoto{display:none}
}
@media(min-width:768px){.pros h2{font-size:18px}.pros ul{font-size:12px;line-height:1.75}.pros-content{grid-template-columns:minmax(0,38%) minmax(0,1fr) 135px;min-height:150px}.kumamoto{height:150px}}

/* V6 keyboard visibility and interactive affordances */
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #f0b400;outline-offset:3px}
.recruit:focus-visible{outline-color:#fff;box-shadow:0 0 0 4px #176018}

/* V4 enlarged SP earthquake/contact fixed panel */
@media(max-width:767px){
  .sp-quake{padding:10px;line-height:1.22}
  .sp-quake strong{font-size:24px;line-height:1.12}
  .sp-quake span{max-width:360px;margin:5px auto 4px;padding:2px 5px;font-size:13px;line-height:1.3}
  .sp-quake small{max-width:360px;margin:0 auto;font-size:11px;line-height:1.3}
  .sp-actions a{min-height:70px;padding:8px 5px;display:flex;align-items:center;justify-content:center;gap:7px;font-size:17px;line-height:1.12}
  .sp-action-icon{font-size:25px;line-height:1}
  .sp-action-label{display:block}
  footer{padding-bottom:230px}
  .sp-actions a:first-child .sp-action-icon{position:relative;display:block;width:17px;height:28px;flex:0 0 17px;border:2px solid #fff;border-radius:3px;font-size:0}
  .sp-actions a:first-child .sp-action-icon::before{content:"";position:absolute;left:50%;top:3px;width:6px;border-top:1px solid #fff;transform:translateX(-50%)}
  .sp-actions a:first-child .sp-action-icon::after{content:"";position:absolute;left:50%;bottom:2px;width:3px;height:3px;border-radius:50%;background:#fff;transform:translateX(-50%)}
}

/* Tablet-only compact contact bar */
@media(min-width:768px) and (max-width:1250px){
  .sp-cta{position:fixed;z-index:20;left:0;right:0;bottom:0;height:100px;display:grid;grid-template-columns:minmax(220px,32%) minmax(0,1fr);color:#fff;text-align:center;box-shadow:0 -3px 12px rgba(0,0,0,.28)}
  .sp-quake{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:6px 12px;background:linear-gradient(#df0505,#bd0000);border-top:4px dashed #ffe000}
  .sp-quake strong{color:#fff200;font-size:16px;line-height:1.25}
  .sp-quake span{display:none}
  .sp-quake small{display:block;max-width:310px;margin:3px auto 0;color:#fff;font-size:11px;font-weight:700;line-height:1.3}
  .sp-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));background:linear-gradient(#237b23,#145817)}
  .sp-actions a{display:flex;align-items:center;justify-content:center;gap:9px;min-width:0;padding:8px;color:#fff;text-decoration:none;font-size:16px;font-weight:800;line-height:1.15}
  .sp-actions a+a{border-left:1px solid rgba(255,255,255,.75)}
  .sp-action-icon{font-size:26px;line-height:1}
  .sp-action-label{display:block}
  .sp-actions a:first-child .sp-action-icon{position:relative;display:block;width:17px;height:28px;flex:0 0 17px;border:2px solid #fff;border-radius:3px;font-size:0}
  .sp-actions a:first-child .sp-action-icon::before{content:"";position:absolute;left:50%;top:3px;width:6px;border-top:1px solid #fff;transform:translateX(-50%)}
  .sp-actions a:first-child .sp-action-icon::after{content:"";position:absolute;left:50%;bottom:2px;width:3px;height:3px;border-radius:50%;background:#fff;transform:translateX(-50%)}
  .site-footer{padding-bottom:134px}
}

/* SP feature row: keep all four columns contained on narrow phones */
@media(max-width:767px){
  .features{overflow:hidden}
  .features div{min-width:0;padding:6px 1px;gap:4px;overflow:hidden}
  .feature-icon{width:38px;height:38px;max-width:38px;flex:0 0 38px}
  .features span{font-size:clamp(7px,2.05vw,8px);line-height:1.45;white-space:nowrap}
}
@media(max-width:390px){
  .features div{padding:5px 1px;gap:3px}
  .feature-icon{width:32px;height:32px;max-width:32px;flex-basis:32px}
}
