
/* AIO campaign mock: responsive pop-up and non-sending form. */
.campaign-card[hidden]{display:none!important}
.campaign-floating{position:fixed;right:24px;bottom:max(20px,env(safe-area-inset-bottom));width:150px;z-index:80;filter:drop-shadow(0 14px 24px #17202d29)}
.campaign-art{display:block;border:0;padding:0;background:transparent;width:100%;cursor:pointer;border-radius:15px;overflow:hidden}
.campaign-art img{display:block;width:100%;height:auto}
.campaign-close{position:absolute;right:6px;top:6px;width:44px;height:44px;border:0;border-radius:50%;background:#fff;color:#17202d;font:32px/1 Meiryo,sans-serif;cursor:pointer;box-shadow:0 2px 8px #17202d15}
.campaign-art:focus-visible,.campaign-close:focus-visible,.diagnosis-close:focus-visible{outline:3px solid #d90056;outline-offset:4px}
.campaign-static{position:relative;width:min(100%,480px);margin:auto}
.diagnosis-dialog{border:0;border-radius:22px;padding:34px;width:min(540px,calc(100% - 32px));max-height:calc(100dvh - 32px);overflow:auto;color:#17202d;font-family:Meiryo,sans-serif;box-shadow:0 25px 80px #17202d35}
.diagnosis-dialog::backdrop{background:#17202d80}
.diagnosis-is-open{overflow:hidden}
.diagnosis-close{position:absolute;top:12px;right:12px;width:44px;height:44px;border:0;border-radius:50%;background:#f2f4f6;color:#17202d;font-size:30px;cursor:pointer}
.diagnosis-label{display:inline-block;font-size:14px;color:#626c75;background:#f1f3f5;padding:5px 10px;border-radius:5px;margin-bottom:16px}
.diagnosis-dialog h2{font-size:30px;line-height:1.5;margin:0 0 10px;font-weight:800;letter-spacing:-.04em}
.diagnosis-intro{font-size:17px;margin:0 0 20px;line-height:1.8}
.diagnosis-offer{display:flex;gap:10px;align-items:center;flex-wrap:wrap;background:#fff3b8;padding:14px;border-radius:10px;font-size:17px;margin-bottom:24px}
.diagnosis-offer strong{color:#d90056}
.diagnosis-dialog form{display:flex;flex-direction:column}
.diagnosis-dialog label{font-size:16px;font-weight:700;margin:0 0 8px}
.diagnosis-dialog input{width:100%;min-height:50px;border:1px solid #cfd5db;border-radius:9px;padding:13px 14px;font:16px Meiryo,sans-serif;margin:0 0 20px;background:#fff;color:#17202d}
.diagnosis-dialog input:focus{outline:2px solid #d90056;outline-offset:2px}
.diagnosis-submit{display:flex;justify-content:space-between;align-items:center;gap:15px;border:0;background:#d90056;color:white;padding:16px 20px;border-radius:999px;font:700 17px Meiryo,sans-serif;cursor:pointer;margin-top:3px}
.diagnosis-sample{font-size:14px;color:#626c75;line-height:1.9;margin:16px 0 0}
.diagnosis-status{font-size:16px;line-height:1.9;background:#f2f4f6;border-radius:8px;padding:14px;margin:16px 0 0}
@media(max-width:600px){
 .campaign-floating{right:14px;bottom:max(14px,env(safe-area-inset-bottom));width:min(130px,33.5vw)}
 .campaign-close{right:4px;top:4px}
 .diagnosis-dialog{padding:28px 22px;border-radius:18px;max-height:calc(100dvh - 24px)}
 .diagnosis-dialog h2{font-size:28px}
 .diagnosis-offer{font-size:16px;gap:6px}
 .header{position:sticky;top:0;z-index:60;background:#fff}
 .header-inner{padding:12px 18px;gap:12px;min-height:68px}
 .brand{gap:9px}.brand img{width:39px;height:39px}.brand strong{font-size:17px}.brand-aio{font-size:20px}
 .menu-toggle{width:46px;height:46px;flex-shrink:0}
 .header nav.open{padding:22px;gap:20px;max-height:calc(100dvh - 68px);overflow-y:auto}
 .header nav a{font-size:17px;min-height:44px;display:flex;align-items:center}
 .home-message .saas-hero-inner{padding-top:34px;gap:28px}
 .home-message .saas-hero h1{font-size:clamp(47px,13.6vw,62px);line-height:1.14}
 .home-message .saas-hero-lead{font-size:23px;line-height:1.7;margin-top:22px}
 .home-message .saas-hero .actions{display:grid;grid-template-columns:1fr;max-width:350px;margin:24px auto 0;gap:12px}
 .home-message .saas-hero .button{width:100%;justify-content:center;min-height:54px;font-size:17px}
 .home-message .service-photo{border-radius:14px}
 .home-message .value-strip-inner{gap:34px}
 .home-message .value-card h3{font-size:24px;line-height:1.6}
 .home-message .value-card p{font-size:17px;line-height:1.9}
 .home-message .owner-slide{min-height:500px}
 .home-message .owner-overlay blockquote{font-size:30px}
 .footer-bottom{padding-bottom:40px}
}
@media(prefers-reduced-motion:reduce){.campaign-floating{scroll-behavior:auto}}

/* Approved 01/05: halve the artwork; keep the close control easy to tap. */
.campaign-floating .campaign-art{border-radius:8px}
.campaign-floating .campaign-close{top:-22px;right:-10px}
