:root{color-scheme:light;--bg:#f3f8fa;--panel:#fff;--panel-soft:#f7fbfc;--line:#d5e3ea;--line-strong:#a9c4d1;--text:#17304f;--text-sub:#3a5372;--text-dim:#4f6683;--teal:#0b6f68;--teal-2:#13a892;--teal-soft:#dff4ef;--blue:#2b6fb2;--blue-soft:#e4eef9;--orange:#a3501a;--orange-soft:#fbeee2;--radius:18px;--shadow:0 6px 22px #17304f14;--font-ja:"Hiragino Sans", "Hiragino Kaku Gothic ProN", "Noto Sans JP", "Yu Gothic", Meiryo, sans-serif}*,:before,:after{box-sizing:border-box}[hidden]{display:none!important}html{-webkit-text-size-adjust:100%}body{min-height:100vh;color:var(--text);font-family:var(--font-ja);letter-spacing:.02em;background:linear-gradient(170deg,#eaf5fb 0%,#f4fbf9 45%,#fff8ec 100%) fixed;margin:0;font-size:17px;line-height:1.9;overflow-x:hidden}a{color:var(--teal);text-underline-offset:4px;text-decoration-thickness:1px}a:hover{color:var(--blue)}h1,h2,h3{letter-spacing:.03em;color:var(--text);margin:0 0 .6em;line-height:1.5}h1{font-size:clamp(26px,5vw,38px);font-weight:800}h2{font-size:clamp(21px,3.4vw,26px);font-weight:700}h3{font-size:18px;font-weight:700}p{margin:0 0 1em}:focus-visible{outline:3px solid var(--teal-2);outline-offset:3px;border-radius:8px}.skip{color:#000;z-index:100;background:#fff;padding:8px 12px;position:absolute;top:8px;left:-999px}.skip:focus{left:8px}.wrap{width:min(860px,100% - 32px);margin:0 auto}main{padding:28px 0 40px}.site-header{z-index:10;backdrop-filter:blur(8px);border-bottom:1px solid var(--line);background:#f3f8faeb;position:sticky;top:0}.site-header .wrap{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:10px 0;display:flex}.brand{color:var(--text);align-items:center;gap:10px;text-decoration:none;display:flex}.brand-mark{background:radial-gradient(circle at 35% 30%,#fff 0%,#bdf0e4 35%,#1fb9a2 75%,#0f8f86 100%);border-radius:50%;flex:none;width:34px;height:34px;box-shadow:0 0 0 4px #dff4ef}.brand-text{flex-direction:column;line-height:1.2;display:flex}.brand-ja{font-size:18px;font-weight:800}.brand-en{color:var(--text-dim);letter-spacing:.08em;font-size:11px}.site-nav{flex-wrap:wrap;gap:2px;display:flex}.lang-switch{color:var(--teal);border:1.5px solid var(--teal-2);background:#fff;border-radius:999px;margin-left:auto;padding:3px 12px;font-size:14px;font-weight:700;text-decoration:none}.lang-switch:hover{background:var(--teal-soft)}.vh{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}label.btn:focus-within{outline:3px solid var(--teal-2);outline-offset:3px}main:focus{outline:none}.site-nav a{color:var(--text-sub);border-radius:999px;padding:6px 10px;font-size:15px;text-decoration:none}.site-nav a[aria-current=page]{background:var(--teal-soft);color:var(--teal);font-weight:700}@media (width<=560px){.site-nav{justify-content:space-between;width:100%}.site-nav a{padding:4px 8px;font-size:14px}}.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);margin:0 0 20px;padding:22px}.card.soft{background:var(--panel-soft);box-shadow:none}.lead{color:var(--text-sub);font-size:18px}.muted{color:var(--text-dim);font-size:15px}.small{font-size:14px}.btn{min-height:48px;font:inherit;cursor:pointer;border:2px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:10px 22px;font-size:17px;font-weight:700;text-decoration:none;transition:transform .1s,background .2s;display:inline-flex}.btn:active{transform:scale(.98)}.btn-primary{color:#fff;background:linear-gradient(135deg,#0a645e,#0d7f76)}.btn-primary:hover{color:#fff;filter:brightness(1.05)}.btn-ghost{color:var(--teal);border-color:var(--teal-2);background:#fff}.btn-ghost:hover{background:var(--teal-soft);color:var(--teal)}.btn-quiet{color:var(--text-sub);border-color:var(--line-strong);background:0 0;font-weight:500}.btn-danger{color:#a23b2a;background:#fff;border-color:#e3b4aa;font-weight:500}.btn[disabled]{opacity:.45;cursor:not-allowed}.btn-row{flex-wrap:wrap;gap:10px;margin-top:14px;display:flex}.btn-block{width:100%}label.field{margin:0 0 14px;display:block}label.field>span{margin-bottom:4px;font-weight:700;display:block}input[type=text],textarea{width:100%;font:inherit;color:var(--text);border:1.5px solid var(--line-strong);background:#fff;border-radius:12px;padding:10px 14px}textarea{resize:vertical;min-height:84px;line-height:1.7}input[type=text]:focus,textarea:focus{border-color:var(--teal-2);outline:none;box-shadow:0 0 0 3px #1fb9a233}.check{cursor:pointer;align-items:flex-start;gap:10px;margin:0 0 12px;display:flex}.check input{width:22px;height:22px;accent-color:var(--teal);flex:none;margin-top:4px}.scale{grid-template-columns:repeat(11,1fr);gap:4px;margin:6px 0 2px;display:grid}.scale button{border:1.5px solid var(--line-strong);min-height:44px;font:inherit;color:var(--text-sub);cursor:pointer;background:#fff;border-radius:10px;padding:0;font-size:16px;font-weight:700}.scale button[aria-pressed=true]{background:var(--teal);border-color:var(--teal);color:#fff}.scale-ends{color:var(--text-dim);justify-content:space-between;font-size:13px;display:flex}@media (width<=400px){.scale{grid-template-columns:repeat(6,1fr);gap:6px}}.hint{background:var(--orange-soft);color:#7a3f15;border-radius:12px;margin:-6px 0 14px;padding:8px 12px;font-size:15px}.examples{flex-wrap:wrap;gap:6px;margin:0 0 14px;display:flex}.examples button{font:inherit;border:1px solid var(--line-strong);background:var(--panel-soft);color:var(--text-sub);cursor:pointer;border-radius:999px;padding:4px 12px;font-size:14px}.steps-nav{gap:6px;margin:0 0 18px;display:flex}.steps-nav span{background:var(--line);border-radius:3px;flex:1;height:6px}.steps-nav span.on{background:var(--teal-2)}.choice{border:2px solid var(--line);cursor:pointer;background:#fff;border-radius:14px;margin:0 0 10px;padding:12px 14px 12px 46px;display:block;position:relative}.choice input{width:20px;height:20px;accent-color:var(--teal);position:absolute;top:16px;left:14px}.choice:has(input:checked){border-color:var(--teal-2);background:var(--teal-soft)}.choice small{color:var(--text-dim);display:block}.hero{text-align:center;padding:18px 0 8px}.hero h1{margin-bottom:8px}.intent-box{text-align:center;border-radius:var(--radius);border:1px solid var(--line);background:linear-gradient(135deg,#e3f6f1,#e7f0fb);margin:0 0 16px;padding:26px 20px}.intent-box .label{color:var(--text-dim);letter-spacing:.1em;font-size:14px}.intent-box .intent{margin:6px 0 0;font-size:clamp(20px,4vw,26px);font-weight:700;line-height:1.6}.stats{grid-template-columns:repeat(3,1fr);gap:10px;margin:0 0 16px;display:grid}.stat{border:1px solid var(--line);text-align:center;background:#fff;border-radius:14px;padding:12px 8px}.stat b{color:var(--teal);font-size:26px;line-height:1.2;display:block}.stat span{color:var(--text-dim);font-size:13px}.dots{grid-template-columns:repeat(7,1fr);gap:6px;display:grid}.dot{aspect-ratio:1;border:1.5px solid var(--line);color:var(--text-dim);background:#fff;border-radius:10px;justify-content:center;align-items:center;font-size:12px;display:flex;position:relative}.dot.c1{color:var(--text);background:#c9eee5;border-color:#9fdccd}.dot.c2{color:var(--text);background:#8edcc8;border-color:#5ccab0}.dot.c3{border-color:var(--teal);color:#fff;background:#0d7f76}.dot.today{outline:2.5px solid var(--blue);outline-offset:1px}.dot.future{background:0 0;border-style:dashed}.notice{border-left:5px solid var(--orange);background:var(--orange-soft);border-radius:12px;margin:0 0 16px;padding:12px 16px}.notice.teal{border-color:var(--teal-2);background:var(--teal-soft)}.flow{counter-reset:f;gap:10px;margin:0;padding:0;list-style:none;display:grid}.flow li{counter-increment:f;border:1px solid var(--line);background:#fff;border-radius:14px;padding:12px 14px 12px 60px;position:relative}.flow li:before{content:counter(f);color:#fff;background:linear-gradient(135deg,#0a645e,#0d7f76);border-radius:50%;justify-content:center;align-items:center;width:34px;height:34px;font-weight:800;display:flex;position:absolute;top:12px;left:14px}.flow li b{display:block}.flow li span{color:var(--text-dim);font-size:15px}.session{text-align:center}.stage{aspect-ratio:1;width:min(340px,82vw);margin:10px auto 18px;position:relative}.stage .ring{position:absolute;inset:0;transform:rotate(-90deg)}.stage .ring circle{fill:none;stroke-width:6px}.stage .ring .bg{stroke:var(--line)}.stage .ring .fg{stroke:var(--teal-2);stroke-linecap:round;transition:stroke-dashoffset .25s linear}.orb{background:radial-gradient(circle at 38% 32%,#fff 0%,#d6f5ee 30%,#7fdcc8 62%,#2fb7a0 100%);border-radius:50%;transition:transform 5s ease-in-out,filter 1s;position:absolute;inset:18%;transform:scale(.72);box-shadow:0 0 40px #1fb9a273,0 0 90px #2b6fb22e}.orb.in{transform:scale(1)}.orb.out{transform:scale(.72)}.orb.glow{filter:brightness(1.08)saturate(1.1)}.stage .center{pointer-events:none;flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.stage .phase{color:var(--text);text-shadow:0 1px 8px #fff;font-size:22px;font-weight:800}.stage .count{color:var(--text-sub);text-shadow:0 1px 8px #fff;font-size:16px}.phase-text{min-height:3.6em;color:var(--text-sub);max-width:34em;margin:0 auto 6px;font-size:18px}.session-intent{max-width:30em;margin:0 auto 4px;font-size:clamp(19px,4vw,24px);font-weight:700;line-height:1.6}.phases{justify-content:center;gap:6px;margin:4px 0 6px;font-size:13px;display:flex}.phases span{border:1px solid var(--line);color:var(--text-dim);background:#fff;border-radius:999px;padding:2px 10px}.phases span.on{background:var(--teal);border-color:var(--teal);color:#fff}@media (prefers-reduced-motion:reduce){.orb{transition:none}}table.compare{border-collapse:collapse;width:100%;font-size:15px}table.compare th,table.compare td{border-bottom:1px solid var(--line);text-align:left;vertical-align:top;padding:8px 6px}table.compare th{color:var(--text-dim);white-space:nowrap;font-size:13px;font-weight:600}table.compare td.num{text-align:center;white-space:nowrap;font-weight:700}.down{color:var(--teal)}.up{color:var(--orange)}.chart{width:100%;height:auto;display:block}.legend{color:var(--text-sub);flex-wrap:wrap;gap:6px 14px;margin:6px 0 0;font-size:14px;display:flex}.legend i{vertical-align:middle;border-radius:2px;width:14px;height:4px;margin-right:6px;display:inline-block}.entry{border-top:1px solid var(--line);padding:10px 0}.entry:first-child{border-top:0}.entry time{color:var(--text-dim);font-size:13px;display:block}.cta{border-radius:var(--radius);border:1px solid var(--line);background:linear-gradient(135deg,#e3f6f1,#e9f0fb);margin:36px 0 0;padding:22px}.cta h2{font-size:20px}.cta-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;display:grid}.cta-card{border:1px solid var(--line);color:var(--text);box-shadow:var(--shadow);background:#fff;border-radius:14px;flex-direction:column;gap:4px;padding:14px 16px;text-decoration:none;display:flex}.cta-card strong{font-size:17px}.cta-card span{color:var(--text-sub);font-size:15px;line-height:1.7}.cta-card em{color:var(--teal);margin-top:auto;font-style:normal;font-weight:700}.cta-card:hover{border-color:var(--teal-2);color:var(--text)}.storage-warn{background:var(--orange-soft);border-radius:12px;padding:10px 14px;font-size:15px}.site-footer{border-top:1px solid var(--line);color:var(--text-sub);background:#fff9;padding:30px 0 44px;font-size:15px}.site-footer nav{flex-wrap:wrap;gap:8px 18px;margin:20px 0 14px;display:flex}.site-footer nav a{color:var(--text-sub)}.site-footer .note{color:var(--text-dim);font-size:13px}.support-box,.more-contents{border-radius:var(--radius);border:1px solid var(--line);background:#fff;margin-top:24px;padding:18px 20px}.support-box h2{margin-bottom:6px;font-size:18px}.support-box p,.more-contents p{color:var(--text-sub);margin:0 0 10px;font-size:15px}.support-link{color:#fff;background:#0a645e;border-radius:999px;padding:8px 20px;font-weight:700;text-decoration:none;display:inline-block}.support-link:hover{color:#fff;filter:brightness(1.05)}.toast{background:var(--text);color:#fff;z-index:50;box-shadow:var(--shadow);border-radius:999px;padding:10px 18px;font-size:15px;position:fixed;bottom:24px;left:50%;transform:translate(-50%)}.select{width:100%;font:inherit;border:1.5px solid var(--line-strong);color:var(--text);background:#fff;border-radius:12px;padding:10px 12px}.a2hs{text-align:center;color:var(--text-sub);border:1px dashed var(--line-strong);background:#fff;border-radius:12px;margin:0 0 18px;padding:8px 12px;font-size:15px}#home-screen,[id]{scroll-margin-top:110px}
