:root{--paper: #f7f3eb;--paper-deep: #eee7dc;--surface: #fffdf9;--ink: #172c37;--muted: #5f6c70;--line: #cfc8bc;--blue: #315f7d;--blue-soft: #dce9ef;--terracotta: #c85d35;--terracotta-dark: #9f4325;--focus: #0b69a3;--serif: "Yu Mincho", "Hiragino Mincho ProN", "Noto Serif JP", serif;--sans: "Yu Gothic", "Hiragino Kaku Gothic ProN", "Noto Sans JP", sans-serif;--shadow: 0 18px 55px rgba(32, 42, 44, .12);--radius-sm: 10px;--radius-md: 20px;--radius-lg: 34px;--content: 1180px}*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--paper)}body{margin:0;color:var(--ink);background:radial-gradient(circle at 12% 10%,rgba(255,255,255,.8),transparent 28%),var(--paper);font-family:var(--sans);font-size:16px;line-height:1.85;text-rendering:optimizeLegibility}body:before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.2;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.07'/%3E%3C/svg%3E");z-index:50}img{display:block;max-width:100%}a{color:inherit;text-underline-offset:.2em}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}:focus-visible{outline:3px solid var(--focus);outline-offset:4px}.skip-link{position:fixed;left:1rem;top:1rem;transform:translateY(-160%);background:var(--ink);color:#fff;padding:.7rem 1rem;z-index:100}.skip-link:focus{transform:translateY(0)}.container{width:min(calc(100% - 40px),var(--content));margin-inline:auto}.site-header{position:relative;z-index:10;border-bottom:1px solid rgba(23,44,55,.2);background:#f7f3ebeb;backdrop-filter:blur(12px)}.header-inner{min-height:88px;display:flex;align-items:center;justify-content:space-between;gap:2rem}.brand{font-family:var(--serif);font-size:clamp(1.4rem,2.2vw,2rem);letter-spacing:.12em;text-decoration:none;white-space:nowrap}.site-nav{display:flex;gap:clamp(1rem,2.5vw,2.2rem);align-items:center}.site-nav a{text-decoration:none;font-weight:600;font-size:.94rem}.site-nav a:hover{color:var(--terracotta-dark)}.nav-toggle{display:none}.page-main{min-height:70vh}.display,h1,h2,h3{font-family:var(--serif);font-weight:500;letter-spacing:.06em;line-height:1.45}h1{font-size:clamp(2.35rem,5vw,4.6rem);margin:0}h2{font-size:clamp(1.85rem,3.2vw,3rem);margin:0}h3{font-size:clamp(1.25rem,2vw,1.7rem)}p{margin:0 0 1.2rem}.lead{font-size:clamp(1.05rem,1.7vw,1.22rem);line-height:2;color:#31464f}.muted{color:var(--muted)}.eyebrow{display:none}.button{display:inline-flex;min-height:52px;align-items:center;justify-content:center;gap:.65rem;padding:.78rem 1.45rem;border:1px solid var(--ink);border-radius:8px;background:transparent;color:var(--ink);font-weight:700;text-decoration:none;cursor:pointer;transition:transform .2s ease,background .2s ease,color .2s ease}.button:hover{transform:translateY(-2px);background:var(--blue-soft)}.button.primary{background:var(--terracotta);border-color:var(--terracotta);color:#fff}.button.primary:hover{background:var(--terracotta-dark)}.button[disabled]{opacity:.45;cursor:not-allowed;transform:none}.text-link{color:var(--blue);font-weight:700;text-decoration-thickness:1px}.text-link:after{content:" →"}.hero{display:grid;grid-template-columns:minmax(420px,.92fr) minmax(520px,1.25fr);min-height:650px;max-width:1536px;margin-inline:auto;border-bottom:1px solid var(--line)}.hero-copy{display:flex;flex-direction:column;justify-content:center;padding:clamp(3rem,5vw,5rem) clamp(2rem,5.5vw,6.2rem)}.hero-copy h1{max-width:none}.hero-copy .lead{max-width:38rem;margin-top:1.8rem}.hero-actions{display:flex;flex-wrap:wrap;gap:1rem;margin-top:1.5rem}.hero-media{min-height:560px;overflow:hidden}.hero-media picture{display:block;height:100%}.hero-media img{width:100%;height:100%;object-fit:cover;object-position:58% center}@media(min-width:981px){.hero-copy h1{font-size:clamp(3.1rem,4.05vw,3.9rem);white-space:nowrap}}.problem-section{padding:5.5rem 0 6.5rem}.section-intro{max-width:760px;margin-bottom:3rem}.section-intro.center{text-align:center;margin-inline:auto}.section-kicker{color:var(--terracotta-dark);font-size:1rem;font-weight:700;letter-spacing:.12em;margin-bottom:.7rem}.problem-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line)}.problem-item{padding:1.6rem 1.25rem 0;border-right:1px solid var(--line)}.problem-item:first-child{padding-left:0}.problem-item:last-child{border-right:0;padding-right:0}.problem-item h3{color:var(--blue);margin:.9rem 0 .35rem}.problem-item:nth-child(odd) h3{color:var(--terracotta-dark)}.problem-item img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--radius-sm)}.problem-item p{color:var(--muted);font-size:.92rem}.method-section{padding:6.5rem 0;background:#fffdf9b3;border-block:1px solid var(--line)}.method-grid{display:grid;grid-template-columns:.8fr 1.35fr;gap:clamp(2.5rem,7vw,7rem);align-items:center}.method-copy h2:after{content:"";display:block;width:74px;height:3px;background:var(--terracotta);margin:1.5rem 0}.method-media img{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:var(--radius-md);box-shadow:var(--shadow)}.guide-section{padding:6.5rem 0}.guide-list{border-top:1px solid var(--line)}.guide-row{display:grid;grid-template-columns:170px 1fr auto;align-items:center;gap:1.5rem;padding:1.2rem 0;border-bottom:1px solid var(--line);text-decoration:none}.guide-row:hover h3{color:var(--terracotta-dark)}.guide-row img{width:170px;aspect-ratio:4/3;object-fit:cover;border-radius:8px}.guide-row h3{margin:0 0 .3rem;transition:color .2s}.guide-row p{margin:0;color:var(--muted)}.guide-arrow{color:var(--blue);font-size:1.8rem}.cta-band{padding:4rem 0;background:var(--blue-soft);border-block:1px solid #b9cdd6}.cta-inner{display:flex;align-items:center;justify-content:space-between;gap:2rem}.cta-inner h2{font-size:clamp(1.8rem,3.5vw,3rem)}.site-footer{padding:2.5rem 0 1.5rem;border-top:1px solid var(--line)}.footer-top{display:flex;justify-content:space-between;gap:2rem;align-items:flex-start}.footer-nav{display:flex;flex-wrap:wrap;gap:1rem 2rem}.footer-nav a{color:var(--muted)}.footer-note{color:var(--muted);font-size:.82rem;margin-top:1.5rem}.page-hero{padding:6rem 0 4rem;border-bottom:1px solid var(--line)}.page-hero h1{font-size:clamp(2.4rem,5vw,4rem);max-width:13em}.page-hero .lead{max-width:50rem;margin-top:1.4rem}.content-shell{width:min(calc(100% - 40px),860px);margin:0 auto;padding:4.5rem 0 7rem}.content-shell.wide{width:min(calc(100% - 40px),var(--content))}.prose h2{margin-top:3.8rem;padding-bottom:.6rem;border-bottom:1px solid var(--line)}.prose h3{margin-top:2.5rem}.prose p,.prose li{font-size:1.04rem}.prose ul,.prose ol{padding-left:1.4rem}.prose li+li{margin-top:.6rem}.note-box{padding:1.3rem 1.5rem;background:var(--blue-soft);border-left:4px solid var(--blue);margin:2rem 0}.disclosure{padding:1rem 1.25rem;border:1px solid #d7b9aa;background:#fff7f2;font-size:.9rem;margin-bottom:2.5rem}.article-index{display:grid;grid-template-columns:repeat(2,1fr);gap:0 2.5rem;border-top:1px solid var(--line)}.article-card{padding:1.7rem 0;border-bottom:1px solid var(--line);text-decoration:none}.article-card h2{font-size:1.55rem;margin:0 0 .6rem}.article-card p{color:var(--muted);margin:0}.article-meta{color:var(--terracotta-dark);font-size:.82rem;font-weight:700;letter-spacing:.08em}.checker-shell{display:grid;grid-template-columns:330px 1fr;min-height:760px;border-bottom:1px solid var(--line)}.checker-side{padding:3rem;border-right:1px solid var(--line);background:#fffdf98c}.checker-side .brand{font-size:1.35rem;display:block;padding-bottom:1.5rem;border-bottom:1px solid var(--ink)}.checker-side h1{font-size:1.85rem;margin-top:2.8rem}.progress-label{display:flex;justify-content:space-between;margin-top:2.2rem;font-weight:700}.progress-track{height:8px;background:#d8d8d4;border-radius:99px;overflow:hidden}.progress-bar{height:100%;width:20%;background:var(--blue);transition:width .25s ease}.step-list{list-style:none;padding:0;margin:2.5rem 0 0}.step-list li{display:flex;align-items:center;gap:.85rem;padding:.7rem .5rem;color:var(--muted)}.step-list .step-number{display:grid;place-items:center;width:38px;height:38px;border:1px solid #8e999d;border-radius:50%;font-weight:700}.step-list li.active{color:var(--ink);background:var(--blue-soft);border:1px solid #8eb1c3;border-radius:8px}.step-list li.active .step-number{background:var(--blue);color:#fff;border-color:var(--blue)}.step-list li.complete .step-number{border-color:var(--blue);color:var(--blue)}.checker-note{margin-top:3rem;padding-top:1.5rem;border-top:1px solid var(--line);color:var(--muted);font-size:.85rem}.checker-main{padding:clamp(2.5rem,6vw,5rem);max-width:1000px;width:100%}.question-count{color:var(--blue);font-weight:700;border-bottom:1px solid #87949a;padding-bottom:.6rem}.question-panel{display:none}.question-panel.active{display:block}.question-panel h2{font-size:clamp(1.9rem,3.5vw,3rem);margin:2rem 0 1.5rem}.option-list{display:grid;gap:.75rem}.option-row{position:relative;display:flex;align-items:center;min-height:72px;padding:1rem 1.4rem;border:1px solid #c6c7c3;border-radius:8px;background:#fff6;cursor:pointer}.option-row:hover{background:#fff}.option-row:has(input:checked){border:2px solid var(--blue);background:var(--blue-soft);padding:calc(1rem - 1px) calc(1.4rem - 1px)}.option-row input{width:24px;height:24px;margin:0 1.1rem 0 0;accent-color:var(--blue)}.checker-actions{display:flex;justify-content:space-between;gap:1rem;margin-top:1.8rem;padding-top:1.3rem;border-top:1px solid var(--line)}.checker-actions .button{min-width:200px}.form-error{color:#9a2f25;font-weight:700;min-height:1.7em;margin-top:1rem}.result-wrap{min-height:720px;padding:5rem 0 7rem}.result-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:5rem;align-items:start}.result-list{list-style:none;padding:0;margin:0;counter-reset:criteria}.result-list li{counter-increment:criteria;display:grid;grid-template-columns:52px 1fr;gap:1rem;padding:1.2rem 0;border-bottom:1px solid var(--line)}.result-list li:before{content:counter(criteria);display:grid;place-items:center;width:46px;height:46px;border-radius:50%;color:#fff;background:var(--terracotta);font-family:var(--serif);font-size:1.4rem}.result-list h2{font-size:1.45rem;margin:0 0 .35rem}.result-list p{color:var(--muted);margin:0}.result-links{margin-top:2.5rem}@media(max-width:980px){.site-nav{display:none;position:absolute;inset:88px 0 auto;padding:1.5rem 20px 2rem;background:var(--paper);border-bottom:1px solid var(--line);flex-direction:column;align-items:flex-start}.site-nav.open{display:flex}.nav-toggle{display:inline-flex;min-height:44px;border:1px solid var(--ink);border-radius:6px;background:transparent;padding:.5rem .8rem}.hero{grid-template-columns:1fr}.hero-copy{padding:4.5rem max(20px,6vw) 3rem}.hero-media{min-height:420px}.problem-grid{grid-template-columns:repeat(2,1fr)}.problem-item:nth-child(2){border-right:0}.problem-item:nth-child(n+3){border-top:1px solid var(--line);padding-top:1.5rem}.method-grid,.checker-shell{grid-template-columns:1fr}.checker-side{border-right:0;border-bottom:1px solid var(--line);padding:2rem max(20px,6vw)}.checker-side h1,.checker-side>p,.checker-side .brand,.checker-note{display:none}.step-list{display:none}.progress-label{margin-top:0}.checker-main{margin-inline:auto}.result-grid{grid-template-columns:1fr;gap:2.5rem}}@media(max-width:680px){body{font-size:15px}.container,.content-shell,.content-shell.wide{width:min(calc(100% - 28px),var(--content))}.header-inner{min-height:72px}.site-nav{inset-block-start:72px}.brand{font-size:1.25rem}.hero{min-height:0}.hero-copy{padding:3.5rem 20px 2.5rem}.hero-copy h1{font-size:clamp(2.2rem,11vw,3.2rem)}.hero-media{min-height:320px}.hero-media img{object-position:57% center}.hero-actions{flex-direction:column}.hero-actions .button{width:100%}.problem-section,.method-section,.guide-section{padding:4rem 0}.problem-grid{grid-template-columns:1fr}.problem-item{padding:1.3rem 0;border-right:0;border-top:1px solid var(--line)}.problem-item:first-child{padding-top:1.3rem}.guide-row{grid-template-columns:100px 1fr;gap:1rem}.guide-row img{width:100px}.guide-arrow{display:none}.guide-row h3{font-size:1.14rem}.guide-row p{display:none}.cta-inner,.footer-top{flex-direction:column;align-items:stretch}.cta-inner .button{width:100%}.article-index{grid-template-columns:1fr}.page-hero{padding:4rem 0 3rem}.checker-main{padding:2rem 14px 3rem}.question-panel h2{font-size:1.8rem}.option-row{min-height:64px;padding-inline:1rem}.checker-actions .button{min-width:0;flex:1}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important}}
