:root{--ink:#18333c;--ink-soft:#567079;--paper:#fffdf8;--paper-deep:#f6f0e5;--line:#d8ded9;--green:#126b57;--green-dark:#0c4d40;--green-soft:#e5f3ec;--gold:#b87518;--gold-soft:#fff1d8;--red:#a33a32;--red-soft:#fff0ec;--blue-soft:#eaf3f5;--shadow:0 18px 50px #18333c17}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;min-height:100%}body{min-height:100vh;color:var(--ink);background:radial-gradient(circle at 15% 5%, #e5f3eccc, transparent 28rem), var(--paper);-webkit-font-smoothing:antialiased;flex-direction:column;font-family:Yu Gothic,Hiragino Kaku Gothic ProN,Meiryo,sans-serif;line-height:1.75;display:flex;overflow-x:hidden}main{flex:1}a{color:inherit;text-decoration:none}button,input{font:inherit}button,label,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible{outline-offset:3px;outline:3px solid #238caf}label:has(input:focus-visible){outline-offset:3px;outline:3px solid #238caf}.container{width:min(1120px,100% - 32px);margin-inline:auto}.narrowContainer{width:min(840px,100% - 32px)}.siteHeader{z-index:20;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fffdf8eb;border-bottom:1px solid #d8ded9d9;position:sticky;top:0}.siteHeaderInner{justify-content:space-between;align-items:center;gap:24px;width:min(1120px,100% - 28px);min-height:72px;margin-inline:auto;display:flex}.brand{align-items:center;gap:10px;line-height:1.25;display:flex}.brandMark{color:#fff;background:var(--green);border-radius:14px;flex:none;place-items:center;width:42px;height:42px;font-family:serif;font-size:22px;font-weight:700;display:grid}.brand strong,.brand small{display:block}.brand strong{letter-spacing:.04em;font-size:15px}.brand small{color:var(--ink-soft);margin-top:3px;font-size:11px}.navList{align-items:center;gap:6px;list-style:none;display:flex}.navList a{min-height:44px;color:var(--ink-soft);border-radius:10px;place-items:center;padding:9px 13px;font-size:14px;font-weight:700;display:grid}.navList a:hover{color:var(--green-dark);background:var(--green-soft)}.heroSection{padding:88px 0 80px}.heroGrid{grid-template-columns:1.25fr .75fr;align-items:center;gap:56px;display:grid}.heroBadge,.eyebrow,.sectionNumber,.panelLabel{color:var(--green-dark);background:var(--green-soft);letter-spacing:.08em;border-radius:999px;align-items:center;font-size:12px;font-weight:800;display:inline-flex}.heroBadge,.sectionNumber,.panelLabel{padding:5px 11px}.heroSection h1{letter-spacing:-.035em;max-width:720px;margin-top:20px;font-family:Yu Mincho,Hiragino Mincho ProN,serif;font-size:clamp(38px,6vw,68px);line-height:1.22}.heroLead{max-width:650px;color:var(--ink-soft);margin-top:22px;font-size:clamp(16px,2vw,19px)}.buttonRow{flex-wrap:wrap;gap:12px;margin-top:30px;display:flex}.primaryButton,.secondaryButton,.dangerButton,.fileButton{cursor:pointer;border:1px solid #0000;border-radius:13px;justify-content:center;align-items:center;min-height:48px;padding:11px 20px;font-weight:800;transition:transform .16s,box-shadow .16s,background .16s;display:inline-flex}.primaryButton{color:#fff;background:var(--green);box-shadow:0 10px 25px #126b5733}.primaryButton:hover,.secondaryButton:hover,.dangerButton:hover,.fileButton:hover{transform:translateY(-1px)}.primaryButton:hover{background:var(--green-dark)}.primaryButton:disabled{cursor:not-allowed;box-shadow:none;opacity:.45;transform:none}.secondaryButton,.fileButton{border-color:var(--line);color:var(--ink);background:#fff}.dangerButton{color:#fff;background:var(--red)}.fullButton{width:100%;margin-top:20px}.prototypeWarning{border-left:3px solid var(--gold);color:var(--ink-soft);margin-top:22px;padding-left:14px;font-size:13px}.heroPanel{box-shadow:var(--shadow);background:linear-gradient(145deg,#eff8f3,#fff);border:1px solid #cbded5;border-radius:26px;padding:32px;position:relative;overflow:hidden}.heroPanel:after{content:"";border:24px solid #126b5712;border-radius:50%;width:160px;height:160px;position:absolute;bottom:-75px;right:-60px}.heroPanel strong{margin-top:18px;font-size:24px;display:block}.heroPanel ul{color:var(--ink-soft);margin:18px 0 0 1.3em}.section,.pageSection{padding-block:72px}.pageHeader{max-width:750px;margin-bottom:38px}.pageHeader h1,.questionHeader h1,.sectionHeading h2,.safetyGrid h2{margin-top:12px;font-family:Yu Mincho,Hiragino Mincho ProN,serif;font-size:clamp(29px,4vw,42px);line-height:1.35}.pageHeader p,.leadText{color:var(--ink-soft);margin-top:12px;font-size:16px}.sectionHeading{margin-bottom:30px}.modeGrid,.cardGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;display:grid}.modeCard,.contentCard,.answerCard,.resultCard,.diagramCard{border:1px solid var(--line);background:#ffffffe0;border-radius:22px;box-shadow:0 10px 30px #18333c0d}.modeCard{gap:22px;min-height:260px;padding:30px;display:flex}.modeIcon{width:54px;height:54px;color:var(--green-dark);background:var(--green-soft);border-radius:17px;flex:none;place-items:center;font-family:serif;font-size:23px;font-weight:800;display:grid}.landModeCard .modeIcon{color:#774a11;background:var(--gold-soft)}.modeCard h2,.modeCard h3,.contentCard h2{margin-top:10px;font-size:23px}.modeCard p,.contentCard p{color:var(--ink-soft);margin:10px 0 20px}.modeCard>div>a:not(.primaryButton){color:var(--green);font-weight:800}.eyebrowRow{flex-wrap:wrap;gap:7px;display:flex}.eyebrow{padding:3px 9px}.warningEyebrow{color:#7d2b25;background:var(--red-soft)}.softSection{background:var(--paper-deep)}.safetyGrid{grid-template-columns:.8fr 1.2fr;align-items:center;gap:60px;display:grid}.safetyGrid p{color:var(--ink-soft)}.draftNotice{color:#664914;background:var(--gold-soft);border:1px solid #e8c98d;border-radius:14px;align-items:flex-start;gap:12px;margin-bottom:24px;padding:15px 18px;font-size:14px;display:flex}.draftNotice>strong{flex:0 0 180px}.draftNotice>p{flex:1}.compactFacts{flex:0 0 110px;gap:6px;font-size:11px;display:grid}.compactFacts dt{color:#836421}.compactFacts dd{overflow-wrap:anywhere;font-weight:700}.questionHeader{margin-bottom:28px}.sessionProgress{border:1px solid var(--line);color:var(--ink-soft);background:#ffffffbf;border-radius:12px;justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px;padding:11px 14px;font-size:12px;display:flex}.sessionProgress strong{color:var(--green-dark);font-size:14px}.diagramCard,.answerCard,.resultCard,.contentCard{padding:clamp(22px,4vw,34px)}.diagramCard{margin-bottom:24px;overflow:hidden}.diagramCard figcaption{margin-bottom:22px;font-size:18px;font-weight:800}.familyTreeHint{color:var(--ink-soft);margin:-10px 0 12px;font-size:12px;display:none}.familyTreeViewport{overscroll-behavior-inline:contain;scrollbar-color:#9aab9f #ede9df;scrollbar-width:thin;background:linear-gradient(#ffffffb8,#ffffffb8),repeating-linear-gradient(0deg,#0000 0 27px,#126b570a 27px 28px),#fbfaf6;border:1px solid #d7d2c7;border-radius:12px;max-width:100%;overflow:auto hidden}.familyTreeViewport:focus-visible{outline-offset:3px;outline:3px solid #126b5747}.familyTreeCanvas{margin-inline:auto;font-family:Yu Gothic,Hiragino Kaku Gothic ProN,Meiryo,sans-serif;display:block}.parentChildLine,.marriageLine{fill:none;stroke:#4d5351;stroke-linecap:square;stroke-linejoin:round;stroke-width:1.8px;vector-effect:non-scaling-stroke}.marriageLine{stroke-width:1.5px}.adoptionLine{stroke-dasharray:5 4}.adoptionMark{fill:#46524e;font-size:10px;font-weight:800}.familyPersonPlate{fill:#fffefb;stroke:#87948e;stroke-width:1.2px;vector-effect:non-scaling-stroke}.familyPersonDecedent .familyPersonPlate{fill:#fff3d5;stroke:#a97b2e;stroke-width:1.7px}.familyPersonDeceased .familyPersonPlate{stroke:#7b6561}.familyPersonUnborn .familyPersonPlate{fill:#f2f7f5;stroke-dasharray:4 3}.familyPersonText{fill:var(--ink)}.familyPersonRole{fill:#53605c;letter-spacing:.02em;font-size:11px;font-weight:700}.familyPersonName{font-family:Yu Mincho,Hiragino Mincho ProN,serif;font-size:20px;font-weight:800}.familyPersonDeceased .familyPersonName{fill:#604e4a;text-decoration:line-through}.familyPersonStatus{fill:#56615d;font-size:10px;font-weight:700}.familyPersonDeceased .familyPersonStatus{fill:#813e35}.familyLegend{color:var(--ink-soft);flex-wrap:wrap;gap:8px 16px;margin-top:14px;font-size:11px;display:flex}.familyLegend span{white-space:nowrap;align-items:center;gap:7px;display:inline-flex}.familyLegend i{flex:none;width:25px;height:10px;display:inline-block;position:relative}.legendMarriage:before,.legendMarriage:after{content:"";border-top:1.5px solid #4d5351;position:absolute;left:0;right:0}.legendMarriage:before{top:3px}.legendMarriage:after{top:7px}.legendParentChild:before,.legendAdoption:before{content:"";border-top:1.8px solid #4d5351;position:absolute;top:5px;left:0;right:0}.legendAdoption:before{border-top-style:dashed}.legendDecedent{background:#fff3d5;border:1px solid #a97b2e;border-radius:3px;width:18px!important;height:13px!important}.propertyStack{place-items:center;width:min(430px,100%);margin:0 auto 24px;display:grid}.buildingNode,.landNode{text-align:center;width:70%;padding:22px;display:grid}.buildingNode{background:var(--gold-soft);border:2px solid #a97b3d;border-bottom:0;border-radius:12px 12px 0 0;place-content:center;min-height:105px}.landNode{color:#fff;background:var(--green);border-radius:8px;width:100%}.buildingNode span,.landNode span{font-size:12px}.diagramRelations{gap:9px;display:grid}.diagramRelations>div{background:var(--blue-soft);border-radius:10px;grid-template-columns:46px 1fr;gap:10px;padding:10px 12px;font-size:14px;display:grid}.diagramRelations dt{font-weight:800}.sectionTitleRow{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:20px;display:flex}.sectionTitleRow h2,.resultCard h2{margin-top:9px;font-size:24px}.textButton{cursor:pointer;min-height:44px;color:var(--gold);background:0 0;border:0;border-radius:10px;padding:7px 10px;font-weight:800}.textButton:hover{background:var(--gold-soft)}.choiceList{border:0;gap:11px;display:grid}.choiceItem{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:14px;align-items:center;gap:13px;min-height:66px;padding:14px 16px;display:flex}.choiceItem:hover{background:#f8fcfa;border-color:#86aa9c}.choiceItem input{width:21px;height:21px;accent-color:var(--green);flex:none}.choiceItem strong,.choiceItem small{display:block}.choiceItem small{color:var(--ink-soft);margin-top:3px}.choiceSelected,.choiceCorrect{border-color:var(--green);background:var(--green-soft)}.choiceIncorrect{border-color:var(--red);background:var(--red-soft)}.storageMessage,.statusBanner{color:var(--ink-soft);text-align:center;margin-top:14px;font-size:13px}.resultCard{border-width:2px;margin-top:24px}.resultCorrect{background:#f6fcf8;border-color:#75aa96}.resultIncorrect{background:#fff9f7;border-color:#d99189}.resultConclusion{margin-top:16px;font-size:18px;font-weight:800}.reasonList{margin:18px 0 18px 1.4em}.reasonList li+li{margin-top:6px}.examTip,.sourceNote{background:var(--gold-soft);border-radius:13px;margin:18px 0;padding:16px}.sourceNote a{color:var(--green-dark);text-underline-offset:3px;text-decoration:underline}.questionNav{flex-wrap:wrap;gap:10px;display:flex}.examTip strong,.sourceNote strong{margin-right:8px}.sourceNote{color:var(--ink-soft);background:var(--paper-deep);font-size:13px}.contentCard+.contentCard{margin-top:20px}.emptyState{text-align:center;border:1px dashed #aabbb4;border-radius:22px;padding:54px 24px}.emptyState strong{font-size:21px}.emptyState p{color:var(--ink-soft);margin:8px 0 22px}.statGrid{grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:22px;display:grid}.statCard{border:1px solid var(--line);background:#fff;border-radius:18px;padding:24px}.statCard span,.statCard strong{display:block}.statCard span{color:var(--ink-soft);font-size:13px}.statCard strong{color:var(--green-dark);margin-top:4px;font-size:36px}.progressList{margin-top:16px;list-style:none;display:grid}.progressList li{border-top:1px solid var(--line);justify-content:space-between;gap:16px;padding:14px 0;display:flex}.progressList strong,.progressList li div span{display:block}.progressList li div span,.mutedText{color:var(--ink-soft);font-size:13px}.settingsStack{gap:18px;display:grid}.settingsStack .contentCard+.contentCard{margin-top:0}.settingsStack .contentCard p{margin:8px 0 18px}.fileButton input{clip:rect(0, 0, 0, 0);width:1px;height:1px;position:absolute;overflow:hidden}.dangerCard{border-color:#e1b6b0}.pwaStatusBar{color:#664914;background:var(--gold-soft);text-align:center;justify-content:center;align-items:center;gap:16px;padding:10px max(16px,50vw - 560px);font-size:13px;display:flex}.pwaStatusBar button{cursor:pointer;color:#664914;background:#fff;border:1px solid #c89a44;border-radius:8px;padding:5px 10px;font-weight:800}.infoPageHeader{max-width:none}.infoLead{color:var(--ink-soft);margin-top:12px;font-size:16px}.infoSection h2,.installCard h2,.offlineCard h1{margin-bottom:14px;font-family:Yu Mincho,Hiragino Mincho ProN,serif;font-size:clamp(23px,3vw,30px);line-height:1.4}.infoSection p+p,.installCard p+p{margin-top:12px}.infoSteps,.infoList{margin-left:1.4em}.infoSteps li+li,.infoList li+li{margin-top:8px}.inlineLink{color:var(--green-dark);text-underline-offset:3px;margin-inline:.18em;font-weight:700;text-decoration:underline}.glossaryList{display:grid}.glossaryList>div{border-top:1px solid var(--line);grid-template-columns:minmax(150px,.35fr) 1fr;gap:24px;padding-block:18px;display:grid}.glossaryList>div:first-child{border-top:0;padding-top:0}.glossaryList dt{color:var(--green-dark);font-weight:800}.glossaryList dd,.infoSection p,.installCard p,.offlineCard p{color:var(--ink-soft)}.installCard,.offlineCard{box-shadow:var(--shadow);background:linear-gradient(145deg,#eff8f3,#fff);border:1px solid #bdd6ca;border-radius:22px;margin-bottom:20px;padding:clamp(24px,5vw,42px)}.installCard h2,.offlineCard h1{margin-top:14px}.installCard .primaryButton{margin-top:20px}.warningText{border-left:4px solid var(--red);background:var(--red-soft);margin-top:18px;padding:14px 16px;color:#7d2b25!important}.siteFooter{border-top:1px solid var(--line);background:#f2ede3}.footerInner{width:min(1120px,100% - 32px);color:var(--ink-soft);grid-template-columns:minmax(0,1.3fr) minmax(150px,.55fr) minmax(170px,.65fr);gap:40px;margin-inline:auto;padding-block:38px;font-size:12px;display:grid}.siteFooter strong{color:var(--ink)}.footerSummary p{margin-top:8px}.footerNav ul{gap:7px;margin-top:10px;list-style:none;display:grid}.footerNav a:hover{color:var(--green-dark);text-underline-offset:3px;text-decoration:underline}.visuallyHidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (max-width:760px){.siteHeaderInner{min-height:64px}.brand strong{font-size:13px}.brand small{display:none}.brandMark{border-radius:12px;width:38px;height:38px}.navList{gap:1px}.navList a{min-height:42px;padding:7px 8px;font-size:12px}.heroSection{padding:54px 0}.heroGrid,.safetyGrid,.modeGrid,.cardGrid{grid-template-columns:1fr}.heroGrid,.safetyGrid{gap:28px}.section,.pageSection{padding-block:50px}.modeCard{min-height:0;padding:24px}.diagramCard{padding-inline:16px}.familyTreeHint{display:block}.familyTreeViewport{border-radius:9px}.sectionTitleRow{display:block}.textButton{margin-top:10px}.statGrid{grid-template-columns:1fr 1fr}.statCard:last-child{grid-column:1/-1}.footerInner{grid-template-columns:1fr 1fr}.footerSummary{grid-column:1/-1}.draftNotice{display:grid}.sessionProgress{gap:2px;display:grid}.compactFacts{grid-template-columns:1fr 1fr}}@media (max-width:460px){.container,.narrowContainer{width:min(100% - 24px,1120px)}.brand span:last-child{display:none}.siteHeaderInner{gap:8px;width:calc(100% - 20px)}.heroSection h1{font-size:36px}.heroPanel,.diagramCard,.answerCard,.resultCard,.contentCard{border-radius:18px;padding:20px}.modeCard{display:block}.modeIcon{margin-bottom:14px}.personRow{grid-template-columns:1fr 1fr}.buttonRow>*{width:100%}.progressList li{display:block}.glossaryList>div,.footerInner{grid-template-columns:1fr}.footerSummary{grid-column:auto}.pwaStatusBar{flex-direction:column;align-items:stretch;gap:6px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important}}
