/* Local LP overrides. No CDN dependency. */
.kiritani-lp-shell{contain:content}
.visual picture,.visual picture img,.visual img{display:block;width:100%;height:auto}
.visual img{aspect-ratio:16/9;object-fit:cover;background:#e9dfcb}
.secondary-visual{margin-top:12px}
.cta{touch-action:manipulation;-webkit-tap-highlight-color:transparent;background:#20332e;color:#fff}
.cta strong{word-break:keep-all;font-size:15px;line-height:1.45}
.hero .cta{margin-top:16px}
.notice{margin:12px 0 0;padding:12px 14px;border:1px solid #ead7b2;border-radius:16px;background:#fff8ee;color:#5c4a2e;font-size:13px;line-height:1.7}
.cta-mail{background:#20332e;box-shadow:0 10px 22px rgba(32,51,46,.18)}
.cta-alt{background:#fff;color:#20332e;border:1px solid #20332e;box-shadow:none}
.cta-alt small{color:#557068}
.cta-row{display:grid;gap:8px}
.lp-form{margin-top:12px;padding:16px;border:1px solid #dfe7e2;border-radius:18px;background:#fff}
.lp-form label{display:block;margin:10px 0 4px;font-weight:700;font-size:14px}
.lp-form input,.lp-form textarea{width:100%;padding:10px 12px;border:1px solid #dfe7e2;border-radius:10px;font:inherit}
.form-check{display:flex;align-items:flex-start;gap:8px;font-weight:500!important;padding:12px;border:1px solid #ead7b2;border-radius:12px;background:#fff8ee}
.form-check input{width:auto;min-width:20px;min-height:20px;margin-top:2px}
.lp-form button:disabled{opacity:.45;cursor:not-allowed;box-shadow:none;transform:none;filter:none}
.form-ok{padding:10px 12px;border-radius:12px;background:#e6f4e9;color:#23613e}
.form-err{padding:10px 12px;border-radius:12px;background:#fdecea;color:#8a2b2b}
.hp{position:absolute;left:-9999px;height:0;overflow:hidden}
.image-link{display:block;border-radius:16px;overflow:hidden}
.image-link:focus-visible{outline:3px solid #f2b84b;outline-offset:3px}
.quick-links{display:flex;gap:6px;overflow:auto;margin:12px 0 0;padding-bottom:2px}
.quick-links a{flex:none;padding:7px 9px;border:1px solid #dfe7e2;border-radius:999px;background:#fff;color:#23613e;font-size:12px;text-decoration:none}
.quick-links a:focus-visible{outline:3px solid #f2b84b;outline-offset:2px}
.trust-strip{display:flex;justify-content:center;gap:6px;flex-wrap:wrap;margin:12px 0 0;color:#557068;font-size:12px}
.trust-strip span{padding:5px 8px;border:1px solid #dfe7e2;border-radius:999px;background:#fff}
.trust-card{padding:20px;border:1px solid #dfe7e2;border-radius:22px;background:#fff}
.trust-card h2{margin:7px 0 10px}
.operator-row{display:flex;gap:12px;align-items:flex-start}
.operator-row img{width:72px;height:72px;flex:none;border-radius:50%;object-fit:cover}
.operator-row h2{margin:0 0 8px}
.visual.persona img,.visual img{aspect-ratio:16/9;max-height:38vh;object-position:20% 40%}
.trust-card p{margin:8px 0;color:#557068;font-size:15px;line-height:1.75}
.trust-card .source-note{padding-top:10px;border-top:1px solid #edf1ee;font-size:13px}
.trust-card a{color:#23613e}
.lead-points{margin:14px auto 0;padding:0;list-style:none;text-align:left;max-width:26rem}
.lead-points li{position:relative;margin:8px 0;padding-left:1.35em;color:#3e524c;font-size:15px;line-height:1.7}
.lead-points li:before{content:"";position:absolute;left:0;top:.55em;width:.45em;height:.45em;border-radius:50%;background:#c76f38}
.card p+p{margin-top:8px}
.split{display:grid;gap:10px}
.split .card h3{font-size:15px}
.missing-image{display:grid!important;place-items:center;min-height:220px;background:#e9dfcb}
.missing-image:after{content:'画像をアップロードしてください';color:#6d7b75;font-size:13px}

/* ===== Direct LINE CTA + breathing pulse (added 2026-10-04) ===== */
.cta-line{background:#06c755;color:#fff;box-shadow:0 8px 28px rgba(6,199,85,.28)}
.cta-line small{color:#eafff3;opacity:.95}
@keyframes ctaBreath{0%,100%{box-shadow:0 0 0 0 rgba(6,199,85,.55)}50%{box-shadow:0 0 0 14px rgba(6,199,85,0)}}
@keyframes ctaBreathDark{0%,100%{box-shadow:0 0 0 0 rgba(32,51,46,.45)}50%{box-shadow:0 0 0 14px rgba(32,51,46,0)}}
.cta-breath.cta-line{animation:ctaBreath 2s ease-in-out infinite}
.cta-breath.cta-mail{animation:ctaBreathDark 2s ease-in-out infinite}
.hdr-cta{flex:none;padding:9px 14px;border-radius:999px;background:#20332e;color:#fff;font-size:13px;font-weight:800;text-decoration:none;line-height:1}
.hdr-cta-line{background:#06c755;animation:ctaBreath 2s ease-in-out infinite}
.brand{gap:10px}
@media(prefers-reduced-motion:reduce){.cta-breath.cta-line,.cta-breath.cta-mail,.hdr-cta-line{animation:none!important}}