.lpf-form__copy { margin:12px 0 24px; padding:16px; border-radius:12px; background:#f5f9ff; color:#475569; font-size:14px; overflow-wrap:anywhere; } .lpf-form__copy p { white-space:pre-wrap; margin:0 0 8px; } .lpf-form__copy a { color:#1d4ed8; text-decoration:underline; }
.lpf-form { --lpf-brand:#2563eb; --lpf-brand-dark:#1d4ed8; --lpf-accent:#3b82f6; --lpf-ink:#172b4d; --lpf-muted:#64748b; --lpf-line:#dbe3ef; max-width:760px; margin:24px auto; padding:clamp(20px,5vw,44px); scroll-margin-top:96px; border:1px solid #e6edf8; border-radius:24px; background:#fff; color:var(--lpf-ink); box-shadow:0 20px 64px rgba(37,99,235,.09); font-family:"Noto Sans JP","Yu Gothic",sans-serif; font-size:16px; line-height:1.75; }
.lpf-form * { box-sizing:border-box; }
.lpf-form [hidden] { display:none!important; }
.lpf-form .lpf-form__title,.lpf-form .lpf-form__step>legend,.lpf-form .lpf-form__review>h2 { position:absolute!important; width:1px!important; height:1px!important; margin:-1px!important; padding:0!important; overflow:hidden!important; clip:rect(0 0 0 0)!important; clip-path:inset(50%)!important; white-space:nowrap!important; border:0!important; }
.lpf-form .lpf-form__title::before,.lpf-form .lpf-form__title::after,.lpf-form .lpf-form__step>legend::before,.lpf-form .lpf-form__step>legend::after,.lpf-form .lpf-form__review h2::before,.lpf-form .lpf-form__review h2::after { display:none!important; content:none!important; }
.lpf-form__progress-label { display:flex; justify-content:space-between; color:var(--lpf-muted); font-size:14px; }
.lpf-form__progress { height:6px; margin:10px 0 28px; overflow:hidden; border-radius:99px; background:#e8eefb; }
.lpf-form__progress>span { display:block; height:100%; background:linear-gradient(90deg,var(--lpf-brand),#60a5fa); transition:width .25s ease; }
.lpf-form__step { min-width:0; margin:0; padding:0; border:0; }
.lpf-form .lpf-form__step>legend,.lpf-form .lpf-form__review h2 { display:block; width:100%; margin:0 0 8px; padding:0; border:0; background:none; color:var(--lpf-ink); font-size:24px; font-weight:800; line-height:1.5; text-align:left; box-shadow:none; }
.lpf-form__help { margin:0 0 24px; color:var(--lpf-muted); }
.lpf-form__field { margin:0 0 22px; padding:12px; border:1px solid transparent; border-radius:16px; scroll-margin-top:110px; transition:background .18s,border-color .18s; }
.lpf-form__field:focus-within { background:#f5f9ff; border-color:#bfdbfe; }
.lpf-form__field:focus-within>.lpf-form__label::after { content:"入力中"; margin-left:10px; color:#1d4ed8; font-size:12px; font-weight:600; }
.lpf-form__label { display:block; margin-bottom:8px; font-weight:700; }
.lpf-form__badge { display:inline-block; margin-left:8px; padding:2px 7px; border-radius:6px; background:#f1f5f9; color:#64748b; font-size:11px; font-weight:700; }
.lpf-form__badge[data-required="1"] { background:#fff1f2; color:#b91c1c; }
.lpf-form__name-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.lpf-form__name-part { display:block; margin:0; font-weight:400; }
.lpf-form__name-part>span { display:block; margin-bottom:6px; }
.lpf-form input,.lpf-form select,.lpf-form textarea,.lpf-form button { font:inherit; }
.lpf-form input[type="text"],.lpf-form input[type="email"],.lpf-form input[type="tel"],.lpf-form input[type="date"],.lpf-form input[type="number"],.lpf-form input[type="file"],.lpf-form select,.lpf-form textarea { width:100%; max-width:100%; min-height:56px; margin:0; padding:13px 14px; border:1px solid var(--lpf-line); border-radius:12px; background:#fff; color:var(--lpf-ink); box-shadow:none; }
.lpf-form input[type="file"]::file-selector-button { margin-right:12px; padding:8px 12px; border:0; border-radius:8px; background:#edf2f2; color:var(--lpf-ink); cursor:pointer; font-weight:700; }
.lpf-form__file-help { margin:6px 0 0; color:var(--lpf-muted); font-size:13px; }
.lpf-form textarea { min-height:120px; resize:vertical; }
.lpf-form input::placeholder,.lpf-form textarea::placeholder { color:#77859a; opacity:1; }
.lpf-form input:focus,.lpf-form select:focus,.lpf-form textarea:focus { outline:3px solid rgba(37,99,235,.15); border-color:var(--lpf-brand); }
.lpf-form input[type="checkbox"],.lpf-form input[type="radio"] { accent-color:var(--lpf-brand); }
.lpf-form__field.is-invalid { border-color:#fecaca; background:#fff8f8; }
.lpf-form .lpf-form__field:not(.is-invalid) input:not([type="checkbox"]):not([type="radio"]),.lpf-form .lpf-form__field:not(.is-invalid) select,.lpf-form .lpf-form__field:not(.is-invalid) textarea { border-color:var(--lpf-line)!important; box-shadow:none!important; }
.lpf-form .lpf-form__field:not(.is-invalid) input:focus,.lpf-form .lpf-form__field:not(.is-invalid) select:focus,.lpf-form .lpf-form__field:not(.is-invalid) textarea:focus { border-color:var(--lpf-brand)!important; }
.lpf-form__field.is-invalid input:not([type="checkbox"]):not([type="radio"]),.lpf-form__field.is-invalid select,.lpf-form__field.is-invalid textarea,.lpf-form__field.is-invalid .lpf-form__choice { border-color:#dc2626; }
.lpf-form__error-summary { margin:0 0 24px; padding:16px 18px; border:1px solid #fecaca; border-radius:14px; background:#fff5f5; color:#991b1b; }
.lpf-form__error-summary p { margin:0 0 8px; font-weight:700; }
.lpf-form__error-summary ul { margin:0; padding-left:20px; }
.lpf-form .lpf-form__error-link { padding:4px 0; border:0; border-radius:0; background:none; color:#991b1b; font-size:14px; font-weight:500; text-decoration:underline; text-align:left; }
.lpf-form button:focus-visible { outline:3px solid #93c5fd; outline-offset:3px; }
.lpf-form__choices { display:grid; gap:10px; }
.lpf-form__choice { display:flex; gap:10px; align-items:center; padding:12px; border:1px solid var(--lpf-line); border-radius:12px; cursor:pointer; }
.lpf-form__later { display:block; margin-top:8px; color:var(--lpf-muted); font-size:14px; }
.lpf-form__later input { margin-right:.5ch; }
.lpf-form__question-description { margin:0 0 12px; color:var(--lpf-muted); white-space:pre-line; }
.lpf-form__field-error,.lpf-form__status.is-error { margin:7px 0 0; color:#b42318; font-size:14px; }
.lpf-form__actions { display:flex; justify-content:space-between; gap:12px; margin-top:30px; }
.lpf-form button { padding:13px 22px; border:0; border-radius:12px; cursor:pointer; font-weight:800; }
.lpf-form button:disabled { opacity:.65; cursor:wait; }
.lpf-form__primary { margin-left:auto; background:linear-gradient(135deg,#2563eb,#1d4ed8); color:#fff; box-shadow:0 8px 20px rgba(37,99,235,.2); }
.lpf-form__primary:hover { background:var(--lpf-brand-dark); }
.lpf-form__secondary { background:#edf2f2; color:var(--lpf-ink); }
.lpf-form__review dl { display:grid; grid-template-columns:180px 1fr; margin:20px 0; }
.lpf-form__review dt,.lpf-form__review dd { margin:0; padding:12px 0; border-bottom:1px solid var(--lpf-line); }
.lpf-form__review dt { font-weight:700; }
.lpf-form__success { text-align:center; }
.lpf-form__success>span { display:grid; width:60px; height:60px; margin:auto; place-items:center; border-radius:50%; background:var(--lpf-brand); color:#fff; font-size:30px; }
.lpf-form-error { color:#b42318; }
@media(max-width:560px){.lpf-form{margin:16px auto;padding:20px;border-radius:18px}.lpf-form__name-grid{grid-template-columns:1fr}.lpf-form__review dl{grid-template-columns:1fr}.lpf-form__review dt{padding-bottom:2px;border-bottom:0}.lpf-form__review dd{padding-top:2px}.lpf-form__actions{position:static;margin-bottom:calc(76px + env(safe-area-inset-bottom));padding:12px 0 2px;background:#fff}}
@media(prefers-reduced-motion:reduce){.lpf-form *{transition:none!important;scroll-behavior:auto!important}}
/* Repeated claim rows remain part of the LP, not a nested scrolling area. */
.lpf-form .lpf-form__claim-card { margin:16px 0; padding:16px; border:1px solid #d9e2f1; border-radius:12px; min-width:0; }
.lpf-form .lpf-form__claim-card legend { display:block; font-weight:700; }
.lpf-form .lpf-form__claim-label { display:block; margin-bottom:14px; }
.lpf-form .lpf-form__review dd { white-space:pre-wrap; }
.lpf-form .lpf-form__date-input{position:relative}
.lpf-form .lpf-form__date-example{position:absolute;left:15px;top:50%;transform:translateY(-50%);color:#77859a;pointer-events:none}
.lpf-form .lpf-form__date-input.date-empty:not(:focus-within) input{color:transparent}
.lpf-form .lpf-form__date-input.date-empty:not(:focus-within) input::-webkit-datetime-edit{color:transparent}
.lpf-form .lpf-form__date-input:not(.date-empty) .lpf-form__date-example,.lpf-form .lpf-form__date-input:focus-within .lpf-form__date-example{display:none}
.lpf-form [data-type="claims"] .lpf-form__question-title{display:block;text-wrap:balance;margin-bottom:4px}
.lpf-form [data-type="claims"] .lpf-form__choice{display:flex;align-items:center;gap:8px}
.lpf-form [data-type="claims"] .lpf-form__choice input{margin:0;flex:none}
.lpf-form [data-type="claims"] [data-claim-add]+p{margin-top:12px;line-height:1.6}

.lpf-form__address>label{display:block;margin-top:12px}.lpf-form__address label>span{display:block;margin-bottom:6px}.lpf-form__address [data-address-search]{margin-top:8px;padding:10px 16px;border:1px solid #b5c3d0;border-radius:6px;background:#fff;color:#243746;cursor:pointer}.lpf-form__address [data-address-search]:disabled{opacity:.6;cursor:wait}.lpf-form__address small{display:block;margin-top:8px}.lpf-form__review dd{white-space:pre-line}
