:root{--navy:#2C404C;--navy-2:#3d5664;--green:#06904a;--green-bg:#e7f6ee;--bg:#f4f6f7;--card:#ffffff;--line:#e1e6e9;--ink:#1f2a30;--dim:#5f6c73;--warn:#9a5b00;--warn-bg:#fff6e5;--bad:#b3261e;--bad-bg:#fdecea;--radius:14px}*{box-sizing:border-box}body,html{margin:0;padding:0}body{background:var(--bg);color:var(--ink);font-family:Noto Sans JP,Hiragino Kaku Gothic ProN,Yu Gothic UI,Meiryo,sans-serif;font-size:16px;line-height:1.8}a{color:var(--green)}img{max-width:100%;height:auto;display:block}h1,h2,h3{line-height:1.4;color:var(--navy)}h1{font-size:24px;margin:0 0 6px}h2{font-size:20px;margin:0 0 12px}h3{font-size:17px;margin:0 0 8px}.top{background:var(--navy);color:#fff}.top .inner{max-width:1080px;margin:0 auto;padding:12px 16px;display:flex;align-items:center;gap:16px;flex-wrap:wrap}.brand{display:flex;flex-direction:column;color:#fff;text-decoration:none;margin-right:auto}.brand b{font-size:18px;letter-spacing:.5px}.brand small{font-size:12px;opacity:.8}.who{opacity:.9}.logout,.who{font-size:14px}.logout{background:transparent;border:1px solid rgba(255,255,255,.5);color:#fff;border-radius:999px;padding:6px 14px;cursor:pointer}.nav{background:#fff;border-bottom:1px solid var(--line)}.nav .inner{max-width:1080px;margin:0 auto;padding:0 8px;display:flex;overflow-x:auto}.nav a{padding:14px;color:var(--navy);text-decoration:none;font-weight:700;font-size:15px;white-space:nowrap;border-bottom:3px solid transparent}.nav a[aria-current=page]{border-bottom-color:var(--green);color:var(--green)}main{max-width:1080px;margin:0 auto;padding:24px 16px 60px}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:20px}.grid{display:grid;grid-gap:16px;gap:16px}.grid.two{grid-template-columns:1fr 1fr}.grid.three{grid-template-columns:repeat(3,1fr)}@media (max-width:760px){.grid.three,.grid.two{grid-template-columns:1fr}}.muted{font-size:14px}.lead,.muted{color:var(--dim)}.lead{margin:0 0 20px}.tag{display:inline-block;font-size:13px;font-weight:700;padding:2px 10px;border-radius:999px;background:#eef2f4;color:var(--navy)}.tag.ok{background:var(--green-bg);color:var(--green)}.tag.warn{background:var(--warn-bg);color:var(--warn)}.tag.off{background:#eceff1;color:var(--dim)}.btn{display:inline-block;background:var(--green);color:#fff;border:0;border-radius:999px;padding:12px 24px;font-size:16px;font-weight:700;text-decoration:none;cursor:pointer}.btn.ghost{background:#fff;color:var(--navy);border:1px solid var(--line)}.btn:disabled{opacity:.6;cursor:default}.note{background:var(--warn-bg);color:var(--warn);border-radius:10px;padding:12px 14px;font-size:14px}.error{background:var(--bad-bg);color:var(--bad)}.done,.error{border-radius:10px;padding:12px 14px;font-size:15px}.done{background:var(--green-bg);color:var(--green)}.menu-card{display:flex;gap:14px;align-items:flex-start;text-decoration:none;color:var(--ink)}.menu-card:hover{border-color:var(--green)}.menu-card .ic{flex:0 0 44px;height:44px;border-radius:12px;background:var(--green-bg);color:var(--green);display:flex;align-items:center;justify-content:center;font-size:22px}.menu-card b{display:block;color:var(--navy);font-size:17px}.list{display:grid;grid-gap:12px;gap:12px}.row{background:#fff;border:1px solid var(--line);border-radius:12px;padding:16px}.row .head{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;align-items:baseline}.row .head b{color:var(--navy);font-size:17px}.row dl{display:grid;grid-template-columns:7.5em 1fr;grid-gap:2px 12px;gap:2px 12px;margin:10px 0 0;font-size:15px}.row dt{color:var(--dim)}.row dd{margin:0}label{display:block;font-weight:700;margin:16px 0 6px;color:var(--navy)}input[type=email],input[type=password],input[type=text],select,textarea{width:100%;font-size:16px;padding:12px 14px;border:1px solid #c9d2d7;border-radius:10px;background:#fff;font-family:inherit}textarea{min-height:140px}fieldset{border:0;padding:0;margin:0}.radios{display:flex;gap:16px;flex-wrap:wrap}.radios label{font-weight:400;margin:0;display:flex;gap:6px;align-items:center;color:var(--ink)}.welcome{position:relative;border-radius:var(--radius);overflow:hidden;background:var(--navy);color:#fff;min-height:220px}.welcome img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:right center}.welcome .txt{position:relative;padding:32px 28px;max-width:460px}.welcome h1{color:#fff;font-size:26px}.welcome p{margin:6px 0 0;opacity:.9}@media (max-width:760px){.welcome img{position:static;height:150px}.welcome .txt{padding:20px}}.login-wrap{min-height:100vh;display:grid;grid-template-columns:1fr 1fr;background:#fff}.login-art{background:#eef1f3}.login-art img{width:100%;height:100%;object-fit:cover}.login-form{display:flex;align-items:center;justify-content:center;padding:40px 20px}.login-form .box{width:100%;max-width:400px}@media (max-width:760px){.login-wrap{grid-template-columns:1fr}.login-art{max-height:220px;overflow:hidden}}.terms h4{margin:22px 0 6px;font-size:16px;color:var(--navy)}.terms li,.terms p{font-size:15px}.terms ol{padding-left:1.4em}.terms table{border-collapse:collapse;width:100%;margin:8px 0;font-size:14px}.terms td,.terms th{border:1px solid var(--line);padding:6px 8px;text-align:left;vertical-align:top}.terms th{background:#f6f8f9}.terms summary{display:none}.terms .wterms,.terms details{border:0;padding:0;margin:0}.terms .ver{margin-top:18px}.foot,.terms .ver{color:var(--dim);font-size:13px}.foot{text-align:center;padding:20px}.hero{position:relative;overflow:hidden;background:linear-gradient(160deg,#1b2b35,#2C404C 45%,#244b3e);color:#fff;border-radius:20px;padding:28px 24px 24px}.hero-glow{position:absolute;inset:-40% -20% auto -20%;height:120%;background:radial-gradient(45% 45% at 22% 38%,rgba(6,144,74,.45) 0,rgba(6,144,74,0) 70%),radial-gradient(35% 35% at 78% 20%,rgba(90,200,250,.22) 0,rgba(90,200,250,0) 70%);animation:heroFloat 14s ease-in-out infinite alternate}@keyframes heroFloat{0%{transform:translateZ(0) scale(1)}to{transform:translate3d(2%,3%,0) scale(1.08)}}.hero-inner{position:relative;display:flex;align-items:center;gap:24px;flex-wrap:wrap}.hero-ai-wrap{position:relative;flex:0 0 168px}.hero-ai{width:168px;height:168px;border-radius:50%;object-fit:cover;background:#fff;box-shadow:0 0 0 4px rgba(255,255,255,.18),0 18px 40px rgba(0,0,0,.35);animation:aiIn .7s cubic-bezier(.2,.8,.2,1) both}@keyframes aiIn{0%{opacity:0;transform:translateY(14px) scale(.92)}to{opacity:1;transform:none}}.hero-badge{position:absolute;right:6px;bottom:6px;background:var(--green);color:#fff;font-size:12px;font-weight:900;letter-spacing:.08em;padding:4px 10px;border-radius:999px;box-shadow:0 4px 14px rgba(6,144,74,.5)}.hero-txt{flex:1 1 320px;min-width:260px}.hero-lines p{margin:0 0 6px;opacity:0;transform:translateY(10px);transition:opacity .5s ease,transform .5s ease}.hero-lines p.in{opacity:1;transform:none}.hero-lines p:first-child{font-size:26px;font-weight:800;letter-spacing:.01em}.hero-lines p:nth-child(2){color:rgba(255,255,255,.82)}.hero-lines p:last-child{font-size:19px;font-weight:700;margin-top:10px}@media (max-width:760px){.hero{padding:22px 16px}.hero-inner{gap:16px}.hero-ai,.hero-ai-wrap{flex-basis:120px;width:120px;height:120px}.hero-lines p:first-child{font-size:21px}.hero-lines p:last-child{font-size:17px}}.topics{position:relative;display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));grid-gap:12px;gap:12px;margin-top:24px}.topic{display:flex;align-items:center;gap:12px;text-decoration:none;color:#fff;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);border-radius:14px;padding:16px;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);opacity:0;animation:topicIn .6s cubic-bezier(.2,.8,.2,1) both;transition:transform .18s ease,background .18s ease,border-color .18s ease,box-shadow .18s ease}@keyframes topicIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}.topic:focus-visible,.topic:hover{background:rgba(6,144,74,.22);border-color:rgba(6,144,74,.7);transform:translateY(-2px);box-shadow:0 12px 26px rgba(0,0,0,.28)}.topic .t-ic{font-size:24px;flex:0 0 auto}.topic .t-txt{display:flex;flex-direction:column;flex:1 1 auto}.topic .t-txt b{font-size:16.5px}.topic .t-txt small{color:rgba(255,255,255,.75);font-size:13px}.topic .t-go{opacity:.6;font-size:18px}.hero-note{position:relative;margin:18px 0 0;font-size:13px;color:rgba(255,255,255,.72);line-height:1.9}@media (prefers-reduced-motion:reduce){.hero-ai,.hero-glow,.topic{animation:none!important}.hero-lines p{opacity:1;transform:none;transition:none}}