:root{--green:#087f5b;--green2:#0b6b52;--light:#f2fbf7;--ink:#1f2d2a;--muted:#60716c;--line:#d9e6e1;--warn:#fff3cd;--danger:#a22525}*{box-sizing:border-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans JP",sans-serif;color:var(--ink);background:#fff;line-height:1.7}a{color:inherit}.topnote{background:#fff3cd;padding:8px 16px;text-align:center;font-size:13px}.header{position:sticky;top:0;background:#ffffffee;backdrop-filter:blur(10px);border-bottom:1px solid var(--line);z-index:20}.header-inner{max-width:1080px;margin:auto;padding:14px 18px;display:flex;align-items:center;justify-content:space-between;gap:16px}.brand{font-size:20px;font-weight:800;letter-spacing:.02em}.brand small{display:block;font-size:10px;color:var(--muted);font-weight:600}.nav{display:flex;gap:10px;align-items:center}.btn{display:inline-flex;align-items:center;justify-content:center;padding:12px 18px;border-radius:8px;border:1px solid var(--green);text-decoration:none;font-weight:700;cursor:pointer;background:#fff;color:var(--green)}.btn.primary{background:var(--green);color:#fff}.btn.dark{background:#23342f;color:white;border-color:#23342f}.btn.wide{width:100%}.hero{background:linear-gradient(135deg,#eefbf5,#fff);border-bottom:1px solid var(--line)}.hero-in{max-width:1080px;margin:auto;padding:72px 20px;display:grid;grid-template-columns:1.15fr .85fr;gap:38px;align-items:center}.eyebrow{color:var(--green);font-weight:800}.hero h1{font-size:clamp(32px,5vw,54px);line-height:1.22;margin:10px 0}.hero-card{background:white;border:1px solid var(--line);border-radius:18px;padding:24px;box-shadow:0 15px 45px #133c2c10}.pill{display:inline-block;background:#e2f7ee;color:var(--green2);padding:5px 10px;border-radius:99px;font-weight:700;font-size:12px}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.section{max-width:1080px;margin:auto;padding:58px 20px}.section h2{font-size:30px;margin:0 0 22px}.feature{border:1px solid var(--line);border-radius:14px;padding:22px;background:#fff}.feature b{display:block;font-size:18px;margin-bottom:6px}.flow{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.step{background:var(--light);border-radius:14px;padding:22px}.step-num{font-weight:900;color:var(--green);font-size:13px}.notice{background:#f7f8f8;border:1px solid var(--line);border-radius:12px;padding:18px}.footer{background:#22312d;color:#d9e5e1;padding:34px 20px}.footer-in{max-width:1080px;margin:auto;font-size:13px}.form-wrap{max-width:900px;margin:32px auto;padding:0 18px 60px}.progress{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;margin:24px 0}.progress span{background:#edf2f0;padding:10px;text-align:center;font-size:13px}.progress .active{background:var(--green);color:white}.panel{border:1px solid var(--line);border-radius:14px;margin:18px 0;overflow:hidden}.panel h2{margin:0;padding:14px 18px;background:var(--light);font-size:19px}.fields{padding:18px;display:grid;grid-template-columns:1fr 1fr;gap:16px}.field{display:flex;flex-direction:column;gap:6px}.field.full{grid-column:1/-1}.field label{font-weight:700;font-size:14px}.req{color:#b42318;font-size:11px}.field input,.field select,.field textarea{width:100%;padding:12px;border:1px solid #bfcfc9;border-radius:8px;font:inherit;background:white}.field textarea{min-height:90px}.actions{display:flex;gap:12px;justify-content:center;margin-top:24px}.summary{padding:18px}.summary dl{display:grid;grid-template-columns:220px 1fr;margin:0}.summary dt,.summary dd{padding:10px;border-bottom:1px solid var(--line);margin:0}.hidden{display:none!important}.error{color:#a22525;background:#fff0f0;border:1px solid #f3c0c0;padding:10px 14px;border-radius:8px;margin:12px 0}.success{text-align:center;padding:60px 20px}.success .check{font-size:64px;color:var(--green)}.admin{max-width:1200px;margin:30px auto;padding:0 18px}.toolbar{display:flex;gap:10px;flex-wrap:wrap;margin:14px 0}.toolbar input,.toolbar select{padding:10px;border:1px solid var(--line);border-radius:8px}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:12px}.table{width:100%;border-collapse:collapse;min-width:900px}.table th,.table td{padding:10px 12px;border-bottom:1px solid var(--line);text-align:left;font-size:13px;vertical-align:top}.table th{background:#f5f8f7;position:sticky;top:0}.status{font-weight:700}.modal{position:fixed;inset:0;background:#0007;display:flex;align-items:center;justify-content:center;padding:20px;z-index:50}.modal-card{background:#fff;border-radius:14px;max-width:850px;width:100%;max-height:90vh;overflow:auto;padding:20px}.detail-grid{display:grid;grid-template-columns:180px 1fr;gap:0}.detail-grid div{padding:8px;border-bottom:1px solid var(--line)}.login{max-width:420px;margin:80px auto;padding:24px;border:1px solid var(--line);border-radius:14px}.login input{width:100%;padding:12px;border:1px solid var(--line);border-radius:8px;margin:8px 0 14px}@media(max-width:760px){.hero-in{grid-template-columns:1fr;padding:45px 20px}.grid3,.flow{grid-template-columns:1fr}.nav a:not(.primary){display:none}.fields{grid-template-columns:1fr}.field.full{grid-column:auto}.summary dl,.detail-grid{grid-template-columns:1fr}.summary dt{font-weight:800;background:#f7f9f8}.summary dd{padding-top:3px}.actions{flex-direction:column}.actions .btn{width:100%}}

/* LINE誘導 */
.line-guide{margin:24px auto;padding:24px;max-width:620px;border:1px solid var(--line);border-radius:16px;background:#fff}
.line-guide h2{margin-top:0}
.line-btn{background:#06c755!important;color:#fff!important;border-color:#06c755!important;font-size:1.08rem;padding:14px 28px}
.small-note{font-size:.9rem;color:#666}

/* ===== Life Support Loan site theme ===== */
:root{--demo-green:#00a65a;--demo-deep:#008c4b;--demo-yellow:#fff44f;--demo-pale:#f3fbf6;--demo-ink:#303733;--demo-border:#d3e4d9}
.demo-ribbon{background:#2d2d2d;color:#fff;padding:7px 14px;text-align:center;font-size:12px;font-weight:800;letter-spacing:.05em;position:relative;z-index:60}
.legacy-header{position:relative;top:auto;background:#fff;backdrop-filter:none}
.demo-logo{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--demo-green);min-width:max-content}
.demo-mark{width:44px;height:44px;border:4px solid var(--demo-green);border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:28px;font-weight:900;line-height:1}
.demo-logo-text{display:flex;flex-direction:column;line-height:1.05}.demo-logo-text b{font-size:22px;letter-spacing:.035em}.demo-logo-text small{font-size:9px;letter-spacing:.16em;color:#59655f;margin-top:4px}
.header-actions{display:flex;align-items:center;gap:16px}.mini-link{font-size:13px;text-decoration:none;color:#44524b}.mini-link:hover{text-decoration:underline}
.green-nav{border-top:1px solid #e6eee9;background:var(--demo-green);color:#fff}.green-nav-inner{max-width:1080px;margin:auto;display:grid;grid-template-columns:repeat(6,1fr)}.green-nav a{text-align:center;text-decoration:none;padding:12px 6px;border-right:1px solid #ffffff38;font-weight:700;font-size:13px}.green-nav a:first-child{border-left:1px solid #ffffff38}.green-nav a:hover{background:#008f4e}
.legacy-hero{background:linear-gradient(110deg,#fff 0 58%,#e9f9ef 58% 100%);border-bottom:6px solid var(--demo-yellow)}.legacy-hero-inner{max-width:1080px;margin:auto;min-height:390px;padding:44px 24px;display:grid;grid-template-columns:1.15fr .85fr;align-items:center;gap:30px}.demo-tag{display:inline-block;background:var(--demo-yellow);color:#1c5b3b;padding:5px 11px;font-size:11px;font-weight:900;letter-spacing:.08em}.hero-copy h1{font-size:clamp(35px,5vw,58px);line-height:1.08;margin:14px 0 10px;color:#2d3932}.hero-copy h1 span{color:var(--demo-green)}.rate{font-size:21px;margin:12px 0}.rate strong{font-size:34px;color:var(--demo-green)}.rate em{font-style:normal;font-size:12px;background:#eee;padding:3px 6px;border-radius:4px}.hero-lead{max-width:650px;color:#5a6660}.hero-buttons{display:flex;gap:12px;align-items:stretch;margin-top:22px;flex-wrap:wrap}.legacy-cta{background:var(--demo-green);color:#fff;text-decoration:none;font-size:20px;font-weight:900;padding:15px 25px;min-width:230px;text-align:center;box-shadow:0 4px 0 #00783f}.legacy-cta small{font-size:11px;display:block}.legacy-sub{display:flex;align-items:center;justify-content:center;border:2px solid var(--demo-green);color:var(--demo-green);text-decoration:none;font-weight:800;padding:12px 20px;background:#fff}.hero-visual{display:flex;justify-content:center}.visual-card{width:min(330px,100%);min-height:270px;background:#fff;border:1px solid var(--demo-border);box-shadow:0 18px 50px #006d3b1e;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;position:relative}.visual-top{position:absolute;top:0;left:0;right:0;padding:8px;text-align:center;background:var(--demo-green);color:#fff;font-weight:800;font-size:11px;letter-spacing:.12em}.visual-circle{width:108px;height:108px;border-radius:50%;background:var(--demo-yellow);display:flex;align-items:center;justify-content:center;color:var(--demo-green);font-size:35px;font-weight:900}.visual-card b{text-align:center;font-size:23px;color:#34443a}.visual-card span{font-size:13px;color:#718078}
.legacy-section{max-width:1080px;margin:auto;padding:54px 20px}.legacy-section.pale{max-width:none;background:var(--demo-pale);padding-left:max(20px,calc((100% - 1080px)/2 + 20px));padding-right:max(20px,calc((100% - 1080px)/2 + 20px))}.section-heading{text-align:center;margin-bottom:28px}.section-heading>span{color:var(--demo-green);font-size:12px;font-weight:900;letter-spacing:.18em}.section-heading h2{font-size:28px;margin:3px 0}.section-heading h2 small{font-size:13px;color:#77857d}.legacy-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.legacy-card{display:flex;align-items:center;gap:14px;border:1px solid var(--demo-border);background:#fff;padding:22px;text-decoration:none;box-shadow:0 5px 18px #1e6f4320}.legacy-card.main{border-top:5px solid var(--demo-green)}.legacy-card:not(.main){border-top:5px solid #a8d9bd}.card-icon{width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:var(--demo-green);color:#fff;border-radius:50%;font-weight:900}.legacy-card b{display:block;font-size:18px}.legacy-card small{display:block;color:#718078;margin-top:3px}.center-note{text-align:center;color:#6c7972;font-size:13px;margin-top:20px}.flow-row{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;align-items:center;gap:12px;max-width:1000px;margin:auto}.flow-box{background:#fff;border:1px solid var(--demo-border);padding:22px;min-height:170px}.flow-box>span{display:inline-block;color:var(--demo-green);font-size:12px;font-weight:900}.flow-box b{display:block;margin:8px 0;font-size:18px}.flow-box p{font-size:13px;color:#67746d}.flow-arrow{font-size:40px;color:var(--demo-green)}.benefits{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:25px}.benefits div{border:1px solid var(--demo-border);padding:18px;text-align:center}.benefits b{display:block;color:var(--demo-green);font-size:18px}.benefits span{font-size:12px;color:#6a786f}.terms-table{border-collapse:collapse;width:100%;max-width:850px;margin:auto}.terms-table th,.terms-table td{padding:13px;border:1px solid #cfded5}.terms-table th{width:200px;background:#edf8f1;text-align:left}.sample-badge{font-size:10px;color:#735d00;background:#fff4b3;padding:2px 6px;margin-left:7px}.diagnosis-box{border-top:4px solid var(--demo-green);background:#fff;max-width:880px;margin:auto;padding:25px;display:flex;justify-content:space-between;align-items:center;gap:25px;box-shadow:0 5px 20px #1f70451a}.diagnosis-box p{font-size:13px;color:#6b7770}.placeholder-panel{border:1px dashed #9abdaa;background:#fbfefc;padding:35px;text-align:center;color:#6c7971}.company-table{border-collapse:collapse;width:100%;max-width:820px;margin:auto}.company-table th,.company-table td{border-bottom:1px solid #d7e5dc;padding:14px;text-align:left}.company-table th{width:220px;background:#eef8f2}details{max-width:900px;margin:10px auto;border:1px solid var(--demo-border);padding:14px 18px;background:#fff}summary{font-weight:800;cursor:pointer}.legacy-footer{background:#2b3831;color:#dfe8e3}.footer-warning{background:var(--demo-yellow);color:#314638;text-align:center;padding:12px;font-weight:900}.footer-inner{max-width:1080px;margin:auto;padding:32px 20px;display:flex;align-items:center;justify-content:space-between;gap:24px}.footer-logo{color:#5dd393}.footer-logo .demo-mark{border-color:#5dd393}.footer-logo .demo-logo-text small{color:#c4d1ca}.footer-inner p{font-size:12px;text-align:right}.form-intro{text-align:center;padding:16px 0 4px}.form-intro span{font-size:11px;color:var(--demo-green);font-weight:900;letter-spacing:.16em}.form-intro h1{margin:4px 0}.form-intro p{font-size:13px;color:#6c7972}
@media(max-width:800px){.header-actions .mini-link{display:none}.green-nav-inner{grid-template-columns:repeat(3,1fr)}.green-nav a:nth-child(n+4){display:none}.legacy-hero{background:#f3fbf6}.legacy-hero-inner{grid-template-columns:1fr;min-height:auto}.hero-visual{order:-1}.visual-card{min-height:200px}.visual-circle{width:80px;height:80px;font-size:28px}.legacy-cards,.benefits{grid-template-columns:1fr 1fr}.flow-row{grid-template-columns:1fr}.flow-arrow{transform:rotate(90deg);text-align:center;line-height:.6}.diagnosis-box{flex-direction:column;align-items:stretch}.footer-inner{flex-direction:column;align-items:flex-start}.footer-inner p{text-align:left}.company-table th{width:125px}}
@media(max-width:520px){.demo-logo-text b{font-size:17px}.demo-mark{width:38px;height:38px;font-size:23px}.header-inner{padding:10px 12px}.legacy-cards,.benefits{grid-template-columns:1fr}.green-nav-inner{grid-template-columns:repeat(3,1fr)}.green-nav a{font-size:11px;padding:9px 3px}.legacy-hero-inner{padding:30px 18px}.rate strong{font-size:29px}.legacy-section{padding:40px 16px}.terms-table th{width:115px}.company-table th,.company-table td{display:block;width:100%}.company-table th{padding-bottom:4px}.company-table td{padding-top:7px}}

/* Life Support Loan adjustments */
.demo-logo-text b{letter-spacing:.01em}.hero-copy h1 span{color:var(--demo-green)}
@media(max-width:520px){.demo-logo-text b{font-size:15px}.demo-logo-text small{font-size:8px}}
