@charset "utf-8";
/*
 * Provider acquisition LP (/lp/provider).
 * Ported from the design comp under docs/: inline styles lifted into classes,
 * values unchanged. Tailwind is not loaded on this page, so this file is the
 * only source of truth for its look.
 */

/* ---------- base ---------- */
.lp-body{margin:0;background:#fff;font-family:'Noto Sans JP',system-ui,sans-serif;color:#1B1E28;-webkit-font-smoothing:antialiased}
a{color:#00776E;text-decoration:none}
a:hover{color:#11876D}
p{margin:0}

/* ---------- layout ---------- */
.lp{display:grid;grid-template-columns:1fr;grid-template-areas:"hero" "form" "rest";text-wrap:pretty}
.lp-form{grid-area:form;background:#00776E;background-image:linear-gradient(150deg,rgba(255,255,255,.10) 0%,rgba(255,255,255,0) 42%),linear-gradient(320deg,rgba(255,255,255,.07) 0%,rgba(255,255,255,0) 38%);padding:26px 20px 30px}
.lp-form-inner{display:flex;flex-direction:column;gap:16px}
.lp-hero{grid-area:hero;margin-top:53px;position:relative;background:#fff}
.lp-rest{grid-area:rest}
.lp-head{position:fixed;top:0;left:0;right:0;z-index:40;height:53px;box-sizing:border-box;background:#fff;border-bottom:1px solid #E4EBEA;padding:12px 20px;display:flex;align-items:center;justify-content:space-between;gap:16px}
.lp-hero-img{display:block;width:100%;height:auto;max-height:none;object-fit:cover}
.lp-hero-copy{position:relative;margin-top:-64px;padding:0 22px 28px;background:linear-gradient(to bottom,rgba(255,255,255,0) 0px,rgba(255,255,255,.88) 44px,#fff 62px)}
.lp-sec{padding:34px 20px 36px}
.lp-3up{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px}
.lp-flow{display:grid;grid-template-columns:1fr;gap:8px}
.lp-tools{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.lp-price{display:flex;flex-direction:column;gap:16px}
.lp-foot{display:flex;flex-direction:column;gap:18px}
.lp-cta{display:block;background:#D97A06;color:#fff;border-radius:12px;padding:17px;text-align:center;font-size:16px;font-weight:900;box-shadow:0 4px 0 #A85A00,0 8px 18px rgba(217,122,6,.32)}
.lp-cta:hover{background:#C26A00;color:#fff}

/* ---------- header ---------- */
.lp-head-logo{height:28px;width:auto;display:block}
.lp-head-login{flex:none;background:#D97A06;color:#fff;border-radius:999px;padding:10px 18px;font-size:13px;font-weight:700;letter-spacing:.02em;white-space:nowrap;box-shadow:0 3px 0 #A85A00}
.lp-head-login:hover{background:#C26A00;color:#fff}

/* ---------- hero ---------- */
.lp-hero-badge{display:inline-block;background:#00776E;color:#fff;font-size:12px;font-weight:700;border-radius:7px;padding:8px 13px;letter-spacing:.02em;box-shadow:0 3px 10px rgba(0,72,66,.2)}
.lp-hero-title{margin:18px 0 0;font-size:clamp(25px,2.4vw,36px);line-height:1.5;font-weight:900;letter-spacing:-.04em}
.lp-hero-lead{margin-top:16px;font-size:clamp(13px,1.1vw,15px);line-height:1.9;color:#41494A;font-weight:500}

/* ---------- form ---------- */
.lp-form-head{text-align:center;color:#fff}
.lp-form-eyebrow{font-size:12.5px;font-weight:700;letter-spacing:.04em;color:#BFE9E2}
.lp-form-title{margin-top:8px;font-size:21px;font-weight:900;letter-spacing:-.02em}
.lp-form-card{background:#fff;border-radius:14px;padding:20px 18px;box-shadow:0 10px 30px rgba(0,50,46,.22);display:flex;flex-direction:column;gap:14px;scroll-margin-top:68px}
.lp-steps{display:flex;align-items:center;gap:8px;margin-bottom:2px}
.lp-step-bar{flex:1;height:4px;border-radius:2px;background:#CFE3E0}
.lp-step-bar.is-on{background:#00776E}
.lp-step-label{font-size:11px;font-weight:700;color:#00776E;white-space:nowrap}
.lp-step{display:none}
.lp-step.is-active{display:block}
.lp-fields{display:flex;flex-direction:column;gap:14px}
.lp-name-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.lp-field{display:flex;flex-direction:column;gap:6px}
.lp-label{font-size:12px;font-weight:700;color:#31383F}
.lp-req{color:#C05A4A;margin-left:4px}
.lp-optional{font-weight:500;color:#8A9695;margin-left:6px}
.lp-input,.lp-select{font-family:inherit;font-size:15px;padding:13px;border:1px solid #D5DFDE;border-radius:10px;background:#FBFDFD;color:#1B1E28;box-sizing:border-box;width:100%}
.lp-input:focus,.lp-select:focus{outline:none;border-color:#00776E;box-shadow:0 0 0 3px rgba(0,119,110,.14)}
.lp-tel-row{display:flex;align-items:center;gap:8px}
.lp-tel-input{padding:13px 8px;text-align:center}
.lp-tel-sep{color:#8A9695}
.lp-hint{font-size:11px;line-height:1.6;color:#8A9695}
.lp-agree{display:flex;align-items:flex-start;gap:8px;font-size:12.5px;line-height:1.7;color:#31383F;cursor:pointer}
.lp-agree input{margin-top:3px;width:16px;height:16px;accent-color:#00776E;flex:none}
.lp-submit{font-family:inherit;margin-top:2px;background:#D97A06;color:#fff;border:none;border-radius:12px;padding:17px;font-size:17px;font-weight:900;letter-spacing:.02em;box-shadow:0 4px 0 #A85A00,0 8px 18px rgba(217,122,6,.32);cursor:pointer}
.lp-submit:hover{background:#C26A00}
.lp-submit:disabled{background:#C9D3D2;box-shadow:none;cursor:not-allowed}
.lp-back{font-family:inherit;background:none;border:none;padding:4px;font-size:12.5px;font-weight:700;color:#00776E;cursor:pointer}
.lp-note{text-align:center;font-size:11.5px;line-height:1.8;color:#CDE9E5}
/* 掲載までの5ステップ（LIFERU-406）。フォームの上・緑の地に重ねる */
.lp-journey{background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.22);border-radius:12px;padding:12px 14px;color:#fff}
.lp-journey-title{font-size:13px;font-weight:900;letter-spacing:.02em}
.lp-journey-list{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-direction:column;gap:6px}
.lp-journey-item{display:flex;align-items:center;gap:8px;font-size:12.5px;line-height:1.4}
.lp-journey-num{flex:none;width:20px;height:20px;border-radius:50%;background:#fff;color:#00776E;font-size:11px;font-weight:900;display:flex;align-items:center;justify-content:center}
.lp-journey-label{flex:1;min-width:0;font-weight:700}
.lp-journey-time{flex:0 1 auto;max-width:48%;text-align:right;font-size:11px;color:#BFE9E2}
.lp-journey-note{margin:8px 0 0;font-size:11px;line-height:1.6;color:#CDE9E5}
.lp-turnstile{display:flex;justify-content:center}

/* Validation feedback. Not in the comp, but back()->withInput() needs somewhere to land. */
.lp-errors{background:#FDF2F0;border:1px solid #F0C9C2;border-radius:10px;padding:12px 14px;font-size:12.5px;line-height:1.8;color:#A8412F}
.lp-errors ul{margin:0;padding-left:18px}
.lp-error{font-size:11.5px;line-height:1.6;color:#C05A4A;font-weight:700}
.lp-input.is-invalid,.lp-select.is-invalid{border-color:#C05A4A;background:#FFFBFA}

/* ---------- 3 stats ---------- */
.lp-stat{background:#fff;border-radius:14px;padding:20px 10px;text-align:center;box-shadow:0 2px 10px rgba(0,72,66,.06);display:flex;flex-direction:column;justify-content:center}
.lp-stat-label{font-size:11.5px;font-weight:700;color:#6B7B7A}
.lp-stat-value{margin-top:6px;font-size:clamp(24px,2.4vw,32px);font-weight:900;color:#00776E;line-height:1.2;letter-spacing:-.03em}
.lp-stat-value--sm{font-size:clamp(16px,2.4vw,32px)}
.lp-3up-note{margin-top:20px;text-align:center;font-size:clamp(14px,1.2vw,16px);font-weight:700;line-height:1.8}

/* ---------- headings ---------- */
.lp-h2{margin:0;font-size:clamp(21px,2.1vw,29px);font-weight:900;letter-spacing:-.03em;text-align:center}
/* カンプでは line-height はフロー節の h2 だけに付いている。ダーク節・料金節は normal。 */
.lp-h2--loose{line-height:1.5}
.lp-h2--light{color:#fff}

/* ---------- flow ---------- */
.lp-flow-item{display:flex;align-items:flex-start;gap:14px;background:#F6F8F8;border-radius:14px;padding:18px}
.lp-flow-item--accent{background:#F0FCFA;border:1.5px solid #00776E;padding:17px}
.lp-flow-num{flex:none;width:30px;height:30px;border-radius:50%;background:#fff;border:1.5px solid #00776E;color:#00776E;font-size:13px;font-weight:900;display:flex;align-items:center;justify-content:center}
.lp-flow-num--accent{background:#00776E;color:#fff;border:none}
.lp-flow-body{display:flex;flex-direction:column;gap:5px}
.lp-flow-title{font-size:16px;font-weight:900}
.lp-flow-title--accent{color:#0B4F49}
.lp-flow-desc{font-size:13px;font-weight:500;line-height:1.75;color:#4A5A58}
.lp-flow-desc--accent{color:#3A6560}
.lp-flow-note{margin-top:24px;text-align:center;font-size:clamp(15px,1.5vw,20px);font-weight:900;color:#00776E;letter-spacing:-.01em}

/* ---------- management tools (dark) ---------- */
.lp-sec--dark{background:#32354D;color:#fff}
.lp-dark-lead{margin-top:12px;font-size:clamp(13.5px,1.2vw,16px);font-weight:700;color:#8FE0D3;text-align:center}
.lp-tool{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.14);border-radius:12px;padding:14px 12px;display:flex;align-items:center;gap:10px}
.lp-tool-icon{flex:none;width:28px;height:28px;border-radius:7px;background:rgba(143,224,211,.14);display:flex;align-items:center;justify-content:center}
.lp-tool-name{font-size:13px;font-weight:700}
.lp-dash-img{display:block;width:100%;height:auto;margin-top:20px;border-radius:14px;border:1px solid rgba(255,255,255,.16);box-shadow:0 14px 40px rgba(0,0,0,.28)}
.lp-rule{margin-top:26px;display:flex;align-items:center;gap:14px}
.lp-rule-line{flex:1;height:1px;background:rgba(255,255,255,.2)}
.lp-rule-text{font-size:clamp(14px,1.4vw,18px);font-weight:900;color:#8FE0D3;letter-spacing:.04em;white-space:nowrap}

/* ---------- pricing ---------- */
.lp-price-fig{flex:0 0 38%;background:#F0FCFA;border-radius:14px;padding:24px;text-align:center;display:flex;flex-direction:column;justify-content:center}
.lp-price-num{font-size:clamp(40px,4.4vw,60px);font-weight:900;color:#00776E;line-height:1;letter-spacing:-.04em}
.lp-price-unit{font-size:16px;font-weight:700;color:#1B1E28;letter-spacing:0}
.lp-price-list{flex:1;display:flex;flex-direction:column;justify-content:center;gap:10px;font-size:13.5px;line-height:1.6;color:#31383F;background:#fff;border-radius:14px;padding:20px}
.lp-price-row{display:flex;justify-content:space-between;border-bottom:1px solid #EDF2F1;padding-bottom:10px}
.lp-price-row--last{border-bottom:none;padding-bottom:0}
.lp-price-row b{font-weight:700}
.lp-price-tax{text-align:right;font-size:11px;color:#8A9695}
.lp-close-1{margin-top:28px;text-align:center;font-size:clamp(15px,1.6vw,20px);line-height:1.9;font-weight:900;letter-spacing:-.02em}
.lp-close-2{margin-top:12px;text-align:center;font-size:clamp(14px,1.4vw,17px);line-height:1.8;font-weight:900;color:#00776E}

/* ---------- footer ---------- */
.lp-footer{background:#32354D;color:#C9CEDF;padding:32px 20px 40px}
.lp-foot-brand{font-size:20px;font-weight:900;color:#fff;letter-spacing:-.01em}
.lp-foot-copy{margin-top:12px;font-size:11px;color:#8A90AD}
.lp-foot-nav{display:flex;flex-direction:column;gap:12px;font-size:12.5px}
.lp-foot-nav a{color:#C9CEDF}
.lp-foot-nav a:hover{color:#fff}

/* ---------- responsive ---------- */
@media(min-width:1000px){
.lp{grid-template-columns:400px minmax(0,1fr);grid-template-areas:"form hero" "form rest"}
.lp-form{padding:26px 28px;position:sticky;top:0;height:100vh;box-sizing:border-box;overflow-y:auto;grid-row:1 / -1}
.lp-head{left:400px;padding:12px 44px}
.lp-hero-img{height:520px}
.lp-hero-copy{margin-top:0;position:absolute;left:0;right:0;bottom:0;padding:56px 44px 34px;background:linear-gradient(to bottom,rgba(255,255,255,0) 0%,rgba(255,255,255,.86) 34%,#fff 62%)}
.lp-sec{padding:56px 44px}
.lp-3up{gap:16px}
.lp-flow{grid-template-columns:1fr 1fr;gap:14px}
.lp-tools{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}
.lp-price{flex-direction:row;align-items:stretch;gap:24px;background:#fff;border-radius:16px;padding:28px;box-shadow:0 2px 14px rgba(0,72,66,.06)}
.lp-foot{flex-direction:row;align-items:flex-start;justify-content:space-between;gap:40px}
.lp-desktop-hide{display:none}
}
@media(max-width:999px){.lp-mobile-hide{display:none}}
