@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;600;700&family=Noto+Sans+JP:wght@400;500;700;900&display=swap');
:root{--ink:#17221b;--green:#1c5d3d;--lime:#dfff69;--cream:#f5f1e8;--white:#fff;--muted:#667068;--line:#d8ddd8;--orange:#f46f3a}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:'Noto Sans JP',sans-serif;line-height:1.75}.site-header{height:78px;padding:0 max(24px,calc((100% - 1180px)/2));display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #d8d4ca;background:rgba(245,241,232,.92);position:relative;z-index:5}.logo{font:900 21px 'DM Sans';letter-spacing:.06em;color:var(--ink);text-decoration:none}.logo span{color:var(--green)}.pill{font:600 11px 'DM Sans';letter-spacing:.1em;border:1px solid var(--green);border-radius:30px;padding:5px 12px;color:var(--green)}main{overflow:hidden}.hero{max-width:1080px;margin:0 auto;padding:92px 24px 66px;text-align:center}.eyebrow{font:700 12px 'DM Sans';letter-spacing:.24em;color:var(--green);margin-bottom:20px}.hero h1{font-size:clamp(38px,6vw,72px);line-height:1.22;letter-spacing:-.05em;margin:0}.hero h1 span{position:relative;color:var(--green)}.hero h1 span:after{content:"";height:11px;background:var(--lime);position:absolute;left:-3px;right:-3px;bottom:4px;z-index:-1}.hero>p{max-width:680px;margin:25px auto;color:var(--muted);font-size:16px}.hero-points{display:flex;justify-content:center;gap:25px;color:var(--green);font-size:13px;font-weight:700}.diagnosis-shell{max-width:1050px;margin:0 auto 110px;background:#fff;border-radius:3px;box-shadow:0 20px 70px rgba(39,54,43,.09);padding:44px}.stepper{display:flex;align-items:center;margin-bottom:38px;color:#a2aaa4;font:700 11px 'DM Sans';letter-spacing:.08em}.stepper .active{color:var(--green)}.stepper i{height:1px;background:#dfe3df;flex:1;margin:0 20px}.form-grid{display:grid;grid-template-columns:.86fr 1.14fr;gap:38px}.upload{height:100%;min-height:500px;border:1.5px dashed #aebbb2;background:#f5f8f5;display:flex;align-items:center;justify-content:center;text-align:center;position:relative;overflow:hidden;cursor:pointer;transition:.2s}.upload.drag{border-color:var(--green);background:#edf7f0}.upload input{position:absolute;opacity:0;pointer-events:none}.upload img{position:absolute;width:100%;height:100%;object-fit:contain;display:none;background:#e9edea}.upload img.visible{display:block}.upload-copy{display:flex;flex-direction:column;gap:8px;z-index:1}.upload-copy.over{opacity:0}.upload-copy strong{font-size:18px}.upload-copy span,.upload-copy small{font-size:12px;color:var(--muted)}.fields{display:flex;flex-direction:column;gap:20px}label{font-weight:700;font-size:13px}label em{font-style:normal;color:var(--orange);font-size:10px;margin-left:6px}textarea,select{display:block;width:100%;margin-top:8px;border:1px solid var(--line);background:#fff;padding:14px 15px;border-radius:2px;font:400 14px inherit;color:var(--ink);outline:none}textarea:focus,select:focus{border-color:var(--green);box-shadow:0 0 0 3px rgba(28,93,61,.08)}textarea{height:150px;resize:vertical}.short{height:90px}.counter{display:block;text-align:right;color:#939b95;font-weight:400;margin-top:2px}.primary{border:0;background:var(--green);color:#fff;display:flex;align-items:center;justify-content:space-between;min-height:58px;padding:0 25px;font:700 15px inherit;text-decoration:none;cursor:pointer;transition:.2s}.primary:hover{background:#124b30;transform:translateY(-1px)}form>.primary{width:min(440px,100%);margin:35px auto 10px}.privacy{text-align:center;color:#899189;font-size:11px}.form-error{text-align:center;color:#b83232;font-weight:700}.loading{text-align:center;padding:110px 20px}.spinner{width:60px;height:60px;border:3px solid #d7ded8;border-top-color:var(--green);border-radius:50%;animation:spin 1s linear infinite;margin:auto}@keyframes spin{to{transform:rotate(360deg)}}.loading h2{margin:25px 0 4px}.loading p{color:var(--muted)}#results{background:#f8f7f2;padding-bottom:80px}.score-hero{text-align:center;background:var(--green);color:#fff;padding:70px 20px}.score-hero>p{font:700 11px 'DM Sans';letter-spacing:.25em;color:var(--lime)}.score-ring{width:190px;height:190px;border:2px solid rgba(255,255,255,.25);border-radius:50%;margin:20px auto;display:flex;align-items:center;justify-content:center;flex-direction:column}.score-ring strong{font:700 76px 'DM Sans';line-height:1}.score-ring span{font-size:12px}.score-hero h2{max-width:700px;font-size:19px;margin:20px auto;font-weight:500}.demo-badge{background:var(--lime);color:var(--ink);font-size:11px;font-weight:800;padding:5px 10px;border-radius:20px}.result-block{max-width:1050px;margin:65px auto;padding:0 24px}.section-heading{display:flex;align-items:center;gap:15px;margin-bottom:25px}.section-heading span{font:700 12px 'DM Sans';color:var(--green);border-bottom:2px solid var(--lime)}.section-heading h2{font-size:24px;margin:0}.evaluation-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.evaluation-grid article,.split article,.insight-grid article,.action-grid article{background:#fff;padding:22px}.evaluation-grid article>div{display:flex;justify-content:space-between;gap:10px}.evaluation-grid strong{font:700 25px 'DM Sans';color:var(--green)}meter{width:100%;height:8px;margin:8px 0}meter::-webkit-meter-optimum-value{background:var(--green)}.evaluation-grid p,.insight-grid p{font-size:12px;color:var(--muted);margin:4px 0}.split,.action-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.split h3{margin:6px 0}.mini-title{font:700 10px 'DM Sans';letter-spacing:.15em}.mini-title.good{color:var(--green)}.mini-title.weak{color:var(--orange)}ul{padding-left:20px}.priority ol{list-style:none;padding:0;counter-reset:num}.priority li{counter-increment:num;background:#fff;margin:8px 0;padding:20px 20px 20px 70px;position:relative;font-weight:600}.priority li:before{content:'0' counter(num);position:absolute;left:20px;color:var(--green);font:700 14px 'DM Sans'}.insight-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.insight-grid h3{font-size:14px;margin:0 0 8px}.compare{display:grid;grid-template-columns:1fr 1fr;background:#fff}.compare article{padding:32px}.compare .before{background:#eef0ed}.compare-label{font:700 10px 'DM Sans';letter-spacing:.14em;color:var(--green);margin-bottom:22px}.compare img{width:100%;max-height:370px;object-fit:contain;background:#dfe4df}.compare h3,.action-grid h3{font-size:14px;margin-top:25px}.compare p{white-space:pre-wrap;font-size:13px}.copy-list p{background:#fff;border:1px solid var(--line);padding:12px;margin:7px 0}.copy-list b{color:var(--green);margin-right:10px;font:700 11px 'DM Sans'}.caption-box{background:#f7f6f1;padding:18px}.copy-button{border:1px solid var(--green);background:transparent;color:var(--green);padding:8px 14px;font-weight:700;cursor:pointer}.hashtags span{display:inline-block;color:var(--green);margin:3px;font-size:13px}.consult{max-width:1000px;margin:90px auto 40px;padding:65px 30px;background:var(--ink);color:#fff;text-align:center}.consult>p{font:700 10px 'DM Sans';letter-spacing:.24em;color:var(--lime)}.consult h2{font-size:clamp(23px,4vw,37px);margin:12px}.consult>span{font-size:13px;color:#b9c1bb}.consult>div{display:flex;justify-content:center;gap:10px;margin-top:30px}.consult .primary{min-width:310px}.secondary{border:1px solid currentColor;color:inherit;padding:15px 22px;text-decoration:none;font-size:13px}.restart{display:block;margin:auto;border:0;background:none;color:var(--green);font-weight:700;cursor:pointer}.simple-page{max-width:700px;margin:100px auto;padding:50px;background:#fff;text-align:center}.simple-page h1{font-size:40px}.simple-page .primary,.simple-page .secondary{margin:15px auto;max-width:350px}.simple-page .secondary{display:block;color:var(--green)}footer{padding:50px 24px;text-align:center;background:var(--cream)}footer p{font-size:11px;color:var(--muted)}
@media(max-width:760px){.site-header{height:64px}.hero{padding:60px 20px 45px}.hero-points{flex-direction:column;gap:3px}.diagnosis-shell{margin:0 12px 70px;padding:24px 16px}.stepper i{margin:0 8px}.form-grid,.evaluation-grid,.split,.insight-grid,.compare,.action-grid{grid-template-columns:1fr}.upload{min-height:330px}.evaluation-grid{gap:8px}.result-block{margin:48px auto}.compare article{padding:22px}.consult{margin:60px 12px 30px}.consult>div{flex-direction:column}.consult .primary{min-width:0}.simple-page{margin:30px 12px;padding:35px 20px}}

