:root {
  --forest:#173d32; --forest-2:#235443; --mint:#d7ecca; --sage:#e6eee6;
  --ink:#1e3029; --muted:#5d6d65; --white:#fff; --paper:#f8f9f5;
  --cream:#f3efe5; --border:#dce4dd; --accent:#2e7e5e; --orange:#ecbb85;
  --shadow:0 14px 45px rgba(26,62,46,.07);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.8 -apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif}
button,input,a{font:inherit}
a{color:inherit}
button{cursor:pointer}
button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #cc8a35;outline-offset:4px}
img,svg{max-width:100%}
.shell{width:min(1170px,calc(100% - 56px));margin-inline:auto}
.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.site-header{background:rgba(255,255,255,.94);position:relative;border-bottom:1px solid var(--border)}
.site-header__inner{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:82px}
.brand{text-decoration:none;display:flex;gap:12px;align-items:center;color:var(--forest)}
.brand__mark{display:grid;place-items:center;inline-size:42px;block-size:42px;background:var(--forest);color:#d8edc8;border-radius:13px;font-size:17px;font-weight:900;letter-spacing:-.06em}
.brand__words{display:flex;flex-direction:column;line-height:1.3;gap:2px}
.brand__words strong{font-size:20px;letter-spacing:.02em}
.brand__words small{font-size:10px;font-weight:600;letter-spacing:.04em;color:var(--muted)}
.nav{display:flex;align-items:center;gap:26px}
.nav a{text-decoration:none;font-size:13px;font-weight:700;color:#466153}
.nav a:hover,.footer a:hover{color:var(--accent)}
.nav .nav__cta{background:var(--forest);color:white;border-radius:100px;padding:10px 18px}
.nav .nav__cta:hover{background:var(--forest-2);color:#fff}
.hero{position:relative;isolation:isolate;background:linear-gradient(114deg,#eaf2e8 0%,#f4f5eb 65%,#f6efe2);overflow:hidden}
.hero::before{content:"";position:absolute;top:-190px;right:-90px;width:550px;height:550px;border:1px solid rgba(37,105,68,.2);border-radius:50%;box-shadow:0 0 0 60px rgba(40,106,76,.045),0 0 0 120px rgba(40,106,76,.035);z-index:-1}
.hero__inner{padding:88px 0 91px;display:grid;grid-template-columns:1.12fr .88fr;gap:50px;align-items:center}
.eyebrow{font-size:12px;letter-spacing:.15em;font-weight:900;color:var(--accent);text-transform:uppercase}
h1,h2,h3,p{margin-top:0}
h1,h2,h3{line-height:1.45;letter-spacing:-.045em}
h1{font-size:clamp(35px,5vw,62px);line-height:1.32;margin:17px 0 22px}
.hero__lead{font-size:17px;color:#4f6b5b;max-width:620px;margin-bottom:29px}
.accent-line{background:linear-gradient(transparent 72%,#c5e5a9 0)}
.primary-button,.secondary-button{display:inline-flex;text-decoration:none;align-items:center;justify-content:center;gap:10px;border-radius:11px;padding:14px 21px;font-size:14px;font-weight:800;transition:transform .15s,background .15s;border:1px solid transparent}
.primary-button{background:var(--forest);color:white}.primary-button:hover{background:var(--forest-2);transform:translateY(-2px)}
.secondary-button{background:white;color:var(--forest);border-color:var(--border)}.secondary-button:hover{background:#f1f7ee}
.hero__footnote{display:flex;align-items:center;flex-wrap:wrap;gap:18px;margin-top:24px;color:#527363;font-size:12px;font-weight:700}
.hero__footnote span::before{content:"✓";margin-right:6px;color:var(--accent)}
.hero-visual{background:#fcfcf8;border:1px solid #d5e3d6;box-shadow:0 26px 60px rgba(20,65,42,.12);border-radius:24px;padding:19px;transform:rotate(2deg)}
.hero-visual__top{display:flex;align-items:center;gap:7px;margin-bottom:16px}
.dot{width:9px;height:9px;background:#d6ddd5;border-radius:50%}.dot:first-child{background:#e6b0a1}.dot:nth-child(2){background:#eac88c}.dot:nth-child(3){background:#94baa4}
.hero-visual__inner{background:#f4f7f2;border-radius:16px;padding:24px 24px 21px}
.hero-visual__label{font-weight:700;color:#547464;font-size:11px}
.hero-visual__title{font-size:21px;font-weight:900;margin:9px 0 15px}
.pseudo-form{display:flex;gap:10px;align-items:center;margin:8px 0}
.pseudo-form span:first-child{font-size:11px;color:#76887e;flex:1}
.pseudo-form b{background:white;border:1px solid #dce5dd;border-radius:6px;padding:5px 11px;min-width:118px;text-align:right;font-size:14px}
.pseudo-result{background:var(--forest);color:white;padding:19px;border-radius:13px;margin-top:16px}
.pseudo-result small{font-size:11px;color:#c9dbc8;display:block}.pseudo-result strong{font-size:31px;letter-spacing:-.05em}
.section{padding:85px 0}
.section--soft{background:#f0f4ed}
.section__header{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:27px}
.section__header h2{font-size:clamp(26px,3.4vw,39px);margin:7px 0}
.section__header p{max-width:480px;font-size:14px;color:var(--muted);margin:0}
.tool-search{background:white;border:1px solid var(--border);border-radius:14px;display:flex;align-items:center;gap:10px;max-width:550px;padding:0 17px;height:56px;box-shadow:var(--shadow)}
.tool-search svg{width:18px;flex:0 0 18px;color:#5b7463}
.tool-search input{border:0;outline:0;flex:1;min-width:0;background:transparent;color:var(--ink)}
.tool-search:focus-within{outline:2px solid var(--accent);outline-offset:2px}
.filters{display:flex;gap:9px;flex-wrap:wrap;margin:19px 0 29px}
.filter{padding:7px 15px;background:transparent;border:1px solid #ccd9cc;border-radius:50px;font-size:12px;color:#4e6757;font-weight:700}
.filter:hover{background:#edf5ea}
.filter[aria-pressed="true"]{background:var(--forest);border-color:var(--forest);color:white}
.tool-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.tool-card{background:white;border:1px solid var(--border);border-radius:18px;padding:26px;display:flex;flex-direction:column;box-shadow:0 7px 21px rgba(24,65,43,.035);min-height:276px;transition:transform .15s,box-shadow .15s}
.tool-card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
.tool-card__top{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-bottom:23px}
.tool-icon{height:54px;width:54px;border-radius:15px;background:#e9f3e5;color:#265d47;display:grid;place-items:center;font-size:24px;font-weight:800}
.tool-icon--sand{background:#f6eddb;color:#946840}.tool-icon--blue{background:#e4eef3;color:#4e7185}
.status{font-size:11px;border-radius:50px;padding:4px 10px;background:#eef0ee;color:#607064;font-weight:800}
.status--live{background:#e4f3dd;color:#296a47}
.tool-card h3{font-size:21px;margin-bottom:9px}
.tool-card p{color:var(--muted);font-size:13px;margin-bottom:22px;flex:1}
.tool-card__link{text-decoration:none;font-weight:850;color:var(--accent);font-size:13px;display:inline-flex;gap:10px;align-items:center}
.tool-card__link:hover{text-decoration:underline}
.tool-card__pending{font-size:12px;color:#748279;font-weight:750}
.tool-card[hidden]{display:none}
.empty{background:white;padding:20px;border:1px solid var(--border);border-radius:12px;font-size:14px}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.step{border-left:2px solid #a6d1a5;padding:9px 0 10px 23px}
.step__number{font-size:12px;color:var(--accent);font-weight:900}
.step h3{font-size:21px;margin:8px 0}
.step p{font-size:13px;color:var(--muted);margin-bottom:0}
.feature-strip{padding:47px;background:var(--forest);color:white;border-radius:23px;display:flex;justify-content:space-between;gap:40px;align-items:center}
.feature-strip h2{font-size:clamp(23px,3vw,33px);margin:10px 0}
.feature-strip p{color:#d2dfd4;font-size:13px;max-width:650px;margin-bottom:0}
.feature-strip .eyebrow{color:#c2e4aa}
.feature-strip .secondary-button{white-space:nowrap}
.footer{background:#16382f;color:#e2ece4;padding:51px 0 28px}
.footer__inner{display:flex;justify-content:space-between;gap:25px;align-items:start;border-bottom:1px solid #3b5f4d;padding-bottom:33px}
.footer__brand{font-size:24px;font-weight:900;margin-bottom:8px}
.footer p,.footer a{color:#c2d2c8;font-size:12px}
.footer__links{display:flex;gap:22px;flex-wrap:wrap}.footer__links a{text-decoration:none}
.footer__bottom{padding-top:18px;color:#a9c2b2;font-size:11px}
.breadcrumbs{font-size:12px;color:#677970;padding-top:27px}.breadcrumbs a{text-decoration:none;color:#557461}
.page-hero{padding:45px 0 47px}.page-hero h1{font-size:clamp(30px,4vw,48px);margin:12px 0}.page-hero p{color:#5b7265;max-width:750px;margin-bottom:0}
.tool-layout{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);gap:24px;align-items:start;padding-bottom:55px}
.panel{background:white;border:1px solid var(--border);box-shadow:var(--shadow);border-radius:19px;padding:30px}
.panel h2{font-size:22px;margin-bottom:5px}.panel .subtext{font-size:13px;color:var(--muted);margin-bottom:26px}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.form-field{margin-bottom:17px}.form-field label{display:block;font-size:13px;font-weight:800;margin-bottom:5px}
.form-field input{width:100%;border-radius:10px;border:1px solid #b9ccbf;padding:12px 13px;font-size:17px;color:var(--forest);font-weight:800;background:#fff}
.form-field input[aria-invalid="true"]{border:2px solid #b54737}
.form-field small{display:block;color:var(--muted);font-size:11px;margin-top:4px;font-weight:500}
.note{background:#f1f5ef;border-radius:11px;padding:12px 14px;font-size:12px;color:#5b7162;margin-top:8px}
.rule{height:1px;background:var(--border);margin:22px 0}
.form-error{font-size:12px;color:#ad422f;font-weight:700;min-height:20px}
.result-dark{background:var(--forest);color:#fff;border-radius:16px;padding:25px}
.result-dark__label{color:#c6e2ce;font-size:12px;font-weight:700}
.result-dark__price{font-size:clamp(37px,4vw,55px);font-weight:900;letter-spacing:-.05em;line-height:1.3;margin:6px 0}
.result-dark__sub{color:#cde0d1;font-size:11px}
.result-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:19px}
.result-grid__cell{background:rgba(255,255,255,.1);border-radius:11px;padding:12px}
.result-grid__cell small{font-size:11px;color:#c8d9cb;display:block}
.result-grid__cell b{font-size:20px}
.result-highlight{border-radius:12px;background:#e9f5e5;border:1px solid #d4e8d0;margin:16px 0;padding:19px}
.result-highlight h3{font-size:17px;margin:0 0 7px}.result-highlight p{font-size:13px;color:#486752;margin:0}
.breakdown{display:flex;justify-content:space-between;gap:15px;padding:8px 0;font-size:12px;border-bottom:1px solid #edf1eb}
.breakdown b{font-size:13px;text-align:right}
.actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:22px}
.actions button{border:1px solid #bed0c0;border-radius:10px;padding:10px 14px;background:white;color:var(--forest);font-size:12px;font-weight:850}
.actions button:first-child{background:var(--forest);color:white;border-color:var(--forest)}
.actions button:disabled{opacity:.5;cursor:not-allowed}
.disclaimer{font-size:11px;color:#677a6d;margin-top:16px}
.related{padding:30px;background:#f2f1e9;border-radius:17px;margin-bottom:65px;border:1px solid #e5e2d5}
.related h2{font-size:24px;margin:10px 0}.keep-together{white-space:nowrap}.related p{color:#657164;font-size:13px;max-width:740px}
.placeholder{display:inline-block;border-radius:20px;background:#e1e9da;padding:5px 10px;font-size:11px;font-weight:800;color:#51704f}
.notice-result{font-size:12px;color:var(--accent);min-height:24px;margin-top:11px}
@media(max-width:900px){.hero__inner{grid-template-columns:1fr;gap:35px;padding:58px 0}.hero-visual{max-width:560px;transform:rotate(0)}.tool-grid{grid-template-columns:repeat(2,1fr)}.tool-layout{grid-template-columns:1fr}.feature-strip{padding:30px}.nav{gap:14px}}
@media(max-width:640px){.shell{width:min(100% - 32px,1170px)}.site-header__inner{min-height:70px}.brand__words strong{font-size:17px}.brand__words small{font-size:9px}.nav a:not(.nav__cta){display:none}.nav .nav__cta{font-size:11px;padding:8px 11px}.hero__inner{padding:55px 0}.hero__lead{font-size:15px}.hero-visual__inner{padding:18px}.tool-grid,.steps,.form-grid{grid-template-columns:1fr}.section{padding:57px 0}.section__header{display:block}.section__header p{margin-top:8px}.tool-card{min-height:230px}.feature-strip{display:block}.feature-strip .secondary-button{margin-top:20px}.footer__inner{display:block}.footer__links{margin-top:20px}.panel{padding:20px}.page-hero{padding:36px 0}.result-grid{grid-template-columns:1fr 1fr}}
@media print{.site-header,.footer,.page-hero,.tool-layout .panel:first-child,.related,.actions,.breadcrumbs,.notice-result{display:none!important}.shell{width:100%}.tool-layout{display:block}.tool-layout .panel:last-child{box-shadow:none;border:0}.result-dark{-webkit-print-color-adjust:exact;print-color-adjust:exact}body{background:white}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
