:root{--font-noto:"Noto Sans JP",sans-serif;--color-bg:#f7f5f2;--color-ink:#1f2933;--color-sub:#52606d;--color-accent:#1d4e42;--color-accent-soft:#e4efe9;--color-card:#ffffff;--color-border:#d9d3c8;--color-warn:#9a5b1f;--color-danger:#a5321f;--color-danger-soft:#fbe9e5}*{box-sizing:border-box}body,html{margin:0;padding:0}body{font-family:var(--font-noto);background:linear-gradient(180deg,#eef1ec 0,var(--color-bg) 320px,var(--color-bg) 100%);color:var(--color-ink);font-size:17px;line-height:1.75}a{color:var(--color-accent)}.page{width:100%;max-width:1400px;margin:0 auto;padding:0 32px 96px}.hero{padding:64px 0 40px;border-bottom:1px solid var(--color-border);margin-bottom:40px}.hero-eyebrow{display:inline-block;font-size:14px;font-weight:700;letter-spacing:.08em;color:var(--color-accent);background:var(--color-accent-soft);padding:6px 14px;border-radius:999px;margin-bottom:16px}.hero h1{font-size:clamp(28px,4vw,40px);line-height:1.4;margin:0 0 16px}.hero p{font-size:17px;color:var(--color-sub);max-width:680px;margin:0}.input-section{display:grid;grid-template-columns:minmax(0,1fr);grid-gap:24px;gap:24px;background:var(--color-card);border:1px solid var(--color-border);border-radius:16px;padding:32px;margin-bottom:48px}@media (min-width:880px){.input-section{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 32px}}.field{display:flex;flex-direction:column;gap:8px}.field label{font-size:16px;font-weight:700}.field .hint{font-size:14px;color:var(--color-sub)}.field input[type=date],.field input[type=number],.field select{font-size:16px;padding:12px 14px;border:1px solid var(--color-border);border-radius:10px;background:#fff;color:var(--color-ink)}.field .seg-group{display:flex;flex-direction:column;gap:8px}@media (min-width:420px){.field .seg-group{flex-direction:row}}.field .seg-btn{flex:1 1;font-size:16px;padding:10px 12px;border:1px solid var(--color-border);border-radius:10px;background:#fff;cursor:pointer}.field .seg-btn.on{background:var(--color-accent);border-color:var(--color-accent);color:#fff}.result-grid{display:grid;grid-template-columns:minmax(0,1fr);grid-gap:24px;gap:24px;margin-bottom:48px}@media (min-width:880px){.result-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.result-card{background:var(--color-card);border:1px solid var(--color-border);border-radius:16px;padding:28px;display:flex;flex-direction:column;gap:12px}.result-card.best{border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-soft)}.result-card .label{font-size:15px;font-weight:700;color:var(--color-sub);letter-spacing:.04em}.result-card .amount{font-size:clamp(26px,3vw,34px);font-weight:900;color:var(--color-ink)}.result-card .amount.best{color:var(--color-accent)}.result-card .detail{font-size:15px;color:var(--color-sub);line-height:1.7}.section-title{font-size:22px;font-weight:900;margin:0 0 16px}.note-box{background:var(--color-accent-soft);border-radius:12px;color:var(--color-ink)}.note-box,.warn-box{padding:20px 24px;font-size:15px;line-height:1.8;margin-bottom:32px}.warn-box{background:#fbf2e6;border:1px solid #ecd3ac;border-radius:12px;color:var(--color-warn)}.link-cards{display:grid;grid-template-columns:minmax(0,1fr);grid-gap:20px;gap:20px;margin-bottom:48px}@media (min-width:880px){.link-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}.link-card{display:block;background:var(--color-card);border:1px solid var(--color-border);border-radius:14px;padding:24px;text-decoration:none;color:inherit}.link-card .title{font-size:17px;font-weight:700;color:var(--color-accent);margin-bottom:8px}.link-card .desc{font-size:15px;color:var(--color-sub)}footer.site-footer{border-top:1px solid var(--color-border);padding:32px 0;margin-top:64px}footer.site-footer .page{padding-top:0;padding-bottom:0;font-size:14px;color:var(--color-sub)}.countdown-grid{display:grid;grid-template-columns:minmax(0,1fr);grid-gap:20px;gap:20px;margin-bottom:48px}@media (min-width:720px){.countdown-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.countdown-card{background:var(--color-card);border:1px solid var(--color-border);border-radius:16px;padding:24px 28px}.countdown-card.selected{border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-soft)}.countdown-card .label{font-size:15px;font-weight:700;color:var(--color-sub);margin-bottom:8px}.countdown-card .days{font-size:clamp(30px,4vw,40px);font-weight:900;color:var(--color-accent);line-height:1.2}.countdown-card .days .unit{font-size:18px;font-weight:700;margin-left:4px}.countdown-card .deadline{font-size:14px;color:var(--color-sub);margin-top:6px}.judge-card{border-radius:16px;padding:24px 28px;margin-bottom:32px;border:1px solid var(--color-border)}.judge-badge{display:inline-block;font-size:14px;font-weight:700;padding:6px 14px;border-radius:999px;margin-bottom:12px}.judge-card.ok{background:var(--color-accent-soft);border-color:var(--color-accent)}.judge-card.ok .judge-badge{background:var(--color-accent);color:#fff}.judge-card.check{background:#fbf2e6;border-color:#ecd3ac}.judge-card.check .judge-badge{background:var(--color-warn);color:#fff}.judge-card.ng{background:var(--color-danger-soft);border-color:#eabdb3}.judge-card.ng .judge-badge{background:var(--color-danger);color:#fff}.judge-card ul{margin:0;padding-left:20px;font-size:15px;line-height:1.8}.judge-card li{margin-bottom:6px}.schedule-list{list-style:none;margin:0 0 48px;padding:0;counter-reset:schedule}.schedule-item{position:relative;background:var(--color-card);border:1px solid var(--color-border);border-radius:14px;padding:20px 24px 20px 56px;margin-bottom:16px;counter-increment:schedule}.schedule-item:before{content:counter(schedule);position:absolute;left:18px;top:20px;width:26px;height:26px;border-radius:50%;background:var(--color-accent);color:#fff;font-size:14px;font-weight:700;display:flex;align-items:center;justify-content:center}.schedule-item .title{font-size:16px;font-weight:700;margin-bottom:4px}.schedule-item .target{font-size:14px;font-weight:700;color:var(--color-accent);margin-bottom:8px}.schedule-item .note{font-size:14px;color:var(--color-sub);line-height:1.7;margin-bottom:6px}.schedule-item .source{font-size:14px;color:var(--color-sub);opacity:.8}