/* Lightweight conversion design: no external font or animation downloads. */
body{font-family:'Arial','Hiragino Kaku Gothic ProN','Yu Gothic','Meiryo',sans-serif}
h1,h2,h3,.btn{font-weight:900;letter-spacing:.025em}
h1{font-weight:900;text-shadow:0 3px 0 #062947,0 5px 16px #0005;line-height:1.35}
h1 em{display:inline;background:linear-gradient(transparent 70%,#0968b670%);text-shadow:0 2px 0 #093968}
.hero-badges>span{border:2px solid #ffdc36;background:#07325be8;border-radius:8px;box-shadow:0 4px 0 #021d34;padding:10px 16px;font-weight:800}
.hero-badges strong{font-weight:900}.hero-badges>span:first-child strong{font-size:48px}
.hero-badges>span:last-child strong{font-size:29px}
.section-title>span{display:inline-block;background:var(--navy);color:#fff;padding:5px 18px;border-radius:30px;letter-spacing:.13em}
.section-title h2 em{background:linear-gradient(transparent 68%,#ffdc36 68%);padding:0 .08em}
.reason-grid article{border-radius:12px;overflow:hidden;border-bottom:6px solid var(--blue)}
.reason-body h3 strong{font-size:55px;color:var(--blue);letter-spacing:-.06em;margin-right:4px}
.reason-photo>span{background:var(--yellow);color:var(--deep);font-weight:900;padding:13px 20px}
.service-card{border-radius:12px;overflow:hidden}.service-photo h3{text-shadow:0 3px 10px #0008}
.contact-band{background:repeating-linear-gradient(120deg,#ffdc36 0 24px,#ffe66d 24px 48px);border-top:4px solid #f4c710;border-bottom:4px solid #f4c710}
.contact-final{background:radial-gradient(ellipse at top,#12588d,#062947 75%)}
a.line-cta{position:relative;isolation:isolate;display:inline-flex;align-items:center;justify-content:center;gap:14px;background:linear-gradient(180deg,#12cf62,#06a74c);color:#fff;border:2px solid #42e883;border-radius:14px;padding:16px 22px;min-height:80px;text-decoration:none;box-shadow:0 6px 0 #047c36,0 10px 20px #023e3626;line-height:1.3;overflow:hidden;transition:transform .18s,box-shadow .18s}
a.line-cta:hover{filter:none;transform:translateY(-2px);box-shadow:0 8px 0 #047c36,0 13px 25px #023e3630}
a.line-cta:active{transform:translateY(3px);box-shadow:0 2px 0 #047c36}
.chat-mark{display:flex;align-items:center;justify-content:center;flex:0 0 48px;height:42px;background:#fff;border-radius:50%;color:#04823b;font:900 14px Arial,sans-serif;position:relative}
.chat-mark:after{content:'';position:absolute;left:12px;bottom:-5px;border-top:9px solid #fff;border-right:10px solid transparent;transform:rotate(8deg)}
.cta-copy{display:flex;flex-direction:column;gap:5px;text-align:center;min-width:0}
.cta-copy small{display:block!important;font-size:12px!important;font-weight:700!important;margin:0!important;letter-spacing:.04em}
.cta-copy strong{font-size:21px!important;font-weight:900;line-height:1.3;text-shadow:0 1px 1px #02602c}
.cta-arrow{display:flex;align-items:center;justify-content:center;flex:0 0 25px;width:25px;height:25px;background:#fff;color:#04823b;border-radius:50%;font:900 26px/1 Arial,sans-serif;padding-bottom:3px}
.contact-options a.line-cta{flex-direction:row}
.head-line.line-cta{min-height:62px;padding:10px 14px;gap:10px}.head-line .chat-mark{flex-basis:36px;height:32px;font-size:11px}.head-line .cta-copy strong{font-size:17px!important}.head-line .cta-copy small{font-size:10px!important}
.contact-band .line-cta{flex-shrink:0}
.contact-final .line-cta:after{content:'';position:absolute;inset:-50%;background:linear-gradient(110deg,transparent 40%,#fff5 49%,transparent 58%);transform:translateX(-100%);animation:cta-shine 5s ease-in-out 2;pointer-events:none}
@keyframes cta-shine{0%,65%{transform:translateX(-100%)}90%,100%{transform:translateX(100%)}}
@media(max-width:1050px){.head-line.line-cta{padding:9px}.head-line .cta-copy small{display:none!important}}
@media(max-width:700px){
 .head-line.line-cta{display:none}
 h1{font-size:clamp(30px,8.6vw,39px)}
 .hero-badges{gap:8px}.hero-badges>span{padding:9px 10px;border-radius:6px}
 .hero-badges>span:first-child strong{font-size:38px}.hero-badges>span:last-child strong{font-size:23px}
 .section-title h2{font-size:clamp(25px,6.7vw,31px);line-height:1.6}
 a.line-cta{width:100%;padding:15px 12px;gap:10px;min-height:78px}
 .cta-copy strong{font-size:19px!important}.chat-mark{flex-basis:42px;height:37px;font-size:12px}.cta-arrow{flex-basis:22px;width:22px;height:22px;font-size:23px}
 .contact-options a.line-cta{padding:18px 12px}
 .mobile-contact{grid-template-columns:.8fr 1.5fr;padding:8px 8px calc(8px + env(safe-area-inset-bottom));gap:8px;background:#fff;box-shadow:0 -3px 18px #06294725}
 .mobile-contact>a:first-child{border-radius:10px;font-size:14px;display:flex;flex-direction:column;justify-content:center;padding:8px 4px}
 .mobile-contact a.line-cta{min-height:60px;border-radius:10px;margin-bottom:4px;padding:7px 8px;gap:7px;box-shadow:0 4px 0 #047c36}
 .mobile-contact .chat-mark{display:flex;flex:0 0 31px;height:28px;font-size:9px}
 .mobile-contact .cta-copy{display:flex;gap:3px}.mobile-contact .cta-copy small{font-size:9px!important;letter-spacing:0}.mobile-contact .cta-copy strong{font-size:16px!important;white-space:nowrap}
 .mobile-contact .cta-arrow{display:none}
 footer{padding-bottom:calc(118px + env(safe-area-inset-bottom))}
}
@media(max-width:360px){.cta-copy strong{font-size:17px!important}.cta-copy small{font-size:11px!important}.hero-badges>span{padding:8px}.hero-badges>span:last-child strong{font-size:21px}.mobile-contact .cta-copy strong{font-size:14px!important}.mobile-contact .cta-copy small{font-size:8px!important}}
@media(prefers-reduced-motion:reduce){.contact-final .line-cta:after{animation:none;display:none}a.line-cta{transition:none}}
