:root{--ink:#183c37;--paper:#faf9f3;--accent:#ab4d2e;--line:#d5ded4;font-family:system-ui,'Noto Sans JP',sans-serif;color:var(--ink);background:var(--paper);line-height:1.85}*{box-sizing:border-box}body{margin:0}header,main,footer{max-width:1040px;margin:auto;padding:24px}header{display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line)}a{color:var(--ink);text-underline-offset:4px}header>a{font-size:20px;font-weight:750;text-decoration:none}nav a{margin-left:12px}h1{font-size:clamp(34px,5vw,62px);line-height:1.45;letter-spacing:-.03em;margin:20px 0}h2{font-size:28px}h3{font-size:24px}h4{font-size:22px;margin:10px 0}.hero{padding:40px 0 52px;max-width:760px}.eyebrow,.tag{color:var(--accent);font-weight:700}.muted{font-size:14px;color:#53665f}.notice{border-left:4px solid var(--accent);padding:14px 18px;background:#f0ede0}.primary,button{padding:14px 22px;border:1px solid var(--ink);font:inherit;cursor:pointer;border-radius:5px;background:transparent;color:var(--ink)}.primary{background:var(--ink);color:white;display:inline-block;text-decoration:none}button:disabled{opacity:.45;cursor:default}fieldset{border:0;padding:0;margin:0;min-width:0}legend{font-size:22px;font-weight:700;line-height:1.6;margin-bottom:16px}label{display:flex;gap:12px;align-items:center;border:1px solid var(--line);padding:16px;margin:12px 0;background:white;cursor:pointer;border-radius:6px}input{width:19px;height:19px;flex-shrink:0;accent-color:var(--ink)}.navigation{display:flex;justify-content:space-between;gap:10px;margin-top:24px}section{border-top:1px solid var(--line);padding:32px 0}#check{scroll-margin-top:20px;max-width:800px}#result{outline:none}.card{background:white;border:1px solid var(--line);padding:24px;margin:24px 0}.card p{margin:12px 0}.detail{display:block;font-size:14px;margin-top:20px}.application a{display:inline-block;background:var(--ink);color:white;padding:16px 24px}.application img{max-width:100%}li{margin:8px 0}footer{border-top:1px solid var(--line);font-size:14px}.source-list{overflow-wrap:anywhere}.measurement-panel{position:fixed;bottom:12px;left:12px;right:12px;max-width:620px;background:white;border:1px solid var(--line);padding:14px;box-shadow:0 2px 18px #0002;margin:auto;z-index:8}.measurement-panel p{margin:0 0 10px}.measurement-panel button{font-size:14px;padding:8px 12px;margin-right:10px}[hidden]{display:none!important}:focus-visible{outline:3px solid #b65a32;outline-offset:3px}@media(max-width:600px){header,main,footer{padding:20px}header{display:block}nav a{margin:0 12px 0 0}h1{font-size:36px}.hero{padding:24px 0 36px}.card{padding:18px}legend{font-size:20px}.navigation button{padding:12px 16px}}

/* 2026-11-01: 読みやすさと広告表示の整理 */
header{align-items:center;padding-top:22px;padding-bottom:22px}header>a{letter-spacing:.04em;font-size:22px}nav{font-size:14px}.notice{border:0;background:none;padding:0;margin:0 0 8px;color:#58625e;font-size:13px;line-height:1.6}.hero{padding:34px 0 48px;max-width:760px}.hero>p:not(.eyebrow):not(.muted){max-width:620px;font-size:17px}.eyebrow{font-size:13px;letter-spacing:.07em}h1{font-weight:750;line-height:1.45}h2{font-size:25px;line-height:1.6}.primary{border-radius:8px;font-weight:650;box-shadow:0 3px 0 #102e2a}.card{border-radius:12px;box-shadow:0 5px 20px #183c3708}.tag{font-size:13px;display:inline-block;background:#f4eee4;padding:3px 10px;border-radius:4px}.ad-label{font-size:13px;color:#58625e;margin:16px 0 4px!important}.apply-title{font-size:14px;margin:0 0 8px!important}.application a{border-radius:7px;text-decoration:none;font-weight:650;line-height:1.7}.detail{margin-top:16px}label:has(input:checked){border-color:var(--ink);background:#edf3ed;box-shadow:inset 0 0 0 1px var(--ink)}section>ol{padding-left:24px}section>ol li{padding:8px 0}section>ol b{display:block}footer{color:#58625e}@media(max-width:600px){header>a{font-size:21px}nav{margin-top:10px}.notice{font-size:12px}.hero{padding:22px 0 34px}h1{font-size:34px}.hero>p:not(.eyebrow):not(.muted){font-size:16px}.hero .primary{display:block;text-align:center}h2{font-size:23px}.application a{display:block;width:100%;padding:16px;text-align:center;overflow-wrap:anywhere}.card p{line-height:1.8}.card{margin:18px 0}.navigation button{min-height:48px}label{min-height:58px;padding:14px}.muted{font-size:13px}}

/* 2026-11-02: mobile reading and safe-area baseline */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:24px}body{padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px);overflow-wrap:break-word;word-break:normal;line-break:strict}header,main,footer,section,article,fieldset{min-width:0}img{max-width:100%}button,a.primary,a.button{touch-action:manipulation}button{min-height:44px}.measurement-panel{max-height:55svh;overflow:auto;bottom:calc(12px + env(safe-area-inset-bottom,0px))}#check{scroll-margin-top:24px}#result{scroll-margin-top:24px;outline:none}.application-help p{font-size:14px;line-height:1.8}.result-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:20px}p:empty{display:none}
@media(max-width:700px){body{font-size:16px;line-height:1.8}h1{font-size:30px!important;line-height:1.55!important;letter-spacing:0!important}h2{font-size:23px!important;line-height:1.6;letter-spacing:0}h3,#result>h3,.result h3{font-size:21px!important;line-height:1.6}h4,.product-card h4{font-size:20px!important;line-height:1.6}header{position:static;flex-wrap:wrap;gap:12px}nav{max-width:none;flex-wrap:wrap;line-height:1.8}header,main,footer{padding-left:max(18px,env(safe-area-inset-left,0px));padding-right:max(18px,env(safe-area-inset-right,0px))}.hero{gap:24px}.hero .lead br{display:none}.lead{line-height:1.9}.micro,.muted{font-size:13px;line-height:1.8}.product-card,.card{padding:18px 16px}#result p,#result li,.result p,.result li{font-size:15px;line-height:1.85}#result ul{padding-left:22px}#result>button{display:block;width:100%;margin-top:12px}.application a,.direct-application a{font-size:15px;min-height:52px;padding:15px 16px;overflow-wrap:break-word;line-height:1.7}legend,#check-form legend{font-size:19px;line-height:1.65}.navigation,.quiz-controls{display:flex;gap:12px;flex-wrap:wrap}.navigation button,.quiz-controls button{flex:1;min-height:48px;padding:12px 14px;font-size:15px}.navigation button:disabled,.quiz-controls button:disabled{flex:0 1 auto}label,#check-form label{font-size:15px;line-height:1.75;min-height:52px}input[type=radio]{width:19px;height:19px;flex:none}#result .detail{line-height:1.8;margin:18px 0}section{padding-top:28px;padding-bottom:28px}}

@media(max-width:700px){h1 br{display:none}.hero{padding:22px 0 30px}header>a{font-size:21px;letter-spacing:0}section>ol{padding-left:22px}.application-help{margin-top:16px}}