*{box-sizing:border-box}body{color:#17202a;background:#f5f7fa;margin:0;font-family:-apple-system,BlinkMacSystemFont,Noto Sans JP,Segoe UI,sans-serif}.app{min-height:100vh}.login{background:#0a1929;min-height:100vh;display:grid}@media (min-width:800px){.login{grid-template-columns:1.05fr .95fr}}.hero{min-height:44vh;position:relative;overflow:hidden}.hero img,.photo{-o-object-fit:cover;object-fit:cover;width:100%;height:100%}.hero:after{content:"";background:#0a19298c;position:absolute;inset:0}.heroText{z-index:1;color:#fff;position:absolute;bottom:28px;left:24px;right:24px}.brand{letter-spacing:.06em;color:#f97316;font-weight:900}.hero h1{margin:14px 0;font-size:clamp(36px,7vw,68px);font-weight:900;line-height:1.03}.panel{place-items:center;padding:24px;display:grid}.card{background:#fff;border:1px solid #dde3ea;border-radius:8px;padding:18px;box-shadow:0 16px 45px #0a192917}.loginCard{width:100%;max-width:460px}h1,h2,h3{color:#0a1929}button,input,select,textarea{font:inherit}button{cursor:pointer;border:0;border-radius:6px;min-height:48px;padding:0 14px;font-weight:800}.primary{color:#fff;background:#0a1929}.danger{color:#fff;background:#d92d20}.outline{color:#0a1929;background:#fff;border:1px solid #dde3ea}.grid{gap:14px;display:grid}.quick{margin-top:16px}.field{margin-top:12px;font-weight:800;display:block}.field input,.field select,textarea{border:1px solid #dde3ea;border-radius:6px;width:100%;min-height:48px;margin-top:6px;padding:10px}.top{z-index:5;background:#fff;border-bottom:1px solid #dde3ea;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;display:flex;position:sticky;top:0}.layout{max-width:1280px;margin:0 auto;display:flex}.side{background:#fff;border-right:1px solid #dde3ea;width:250px;min-height:calc(100vh - 72px);padding:12px;display:none}@media (min-width:850px){.side{display:block}}.side button{text-align:left;width:100%;margin-bottom:8px}.main{flex:1;padding:16px 16px 96px}.warning{background:#fff7ed;border-left:4px solid #f97316;border-radius:8px;padding:12px;font-weight:800}.heroDash{color:#fff;background:#0a1929;border-radius:8px;min-height:180px;padding:24px;position:relative;overflow:hidden}.heroDash img{-o-object-fit:cover;object-fit:cover;opacity:.35;width:100%;height:100%;position:absolute;inset:0}.heroDash div{position:relative}.stats{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.stat strong{color:#0a1929;font-size:34px;display:block}.cards{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.training{text-align:left;overflow:hidden}.thumb{background:#102a43;height:150px;position:relative}.thumb img{-o-object-fit:cover;object-fit:cover;width:100%;height:100%}.badge{color:#0a1929;background:#dde3ea;border-radius:6px;padding:5px 8px;font-size:12px;font-weight:900;display:inline-block}.bar{background:#dde3ea;border-radius:99px;height:8px;overflow:hidden}.bar span{background:#d92d20;height:100%;display:block}.nav{padding-bottom:env(safe-area-inset-bottom);background:#fff;border-top:1px solid #dde3ea;grid-template-columns:repeat(5,1fr);display:grid;position:fixed;bottom:0;left:0;right:0}.nav button{color:#667085;background:#fff;border-radius:0;font-size:12px}.nav .active{color:#d92d20}.video{color:#fff;background:#05070a;border-radius:8px;overflow:hidden}.screen{aspect-ratio:16/9;position:relative;overflow:hidden}.screen img{-o-object-fit:cover;object-fit:cover;width:100%;height:100%;animation:2.2s both zoom}.screen:after{content:"";background:#0a19298c;position:absolute;inset:0}.caption{z-index:1;font-size:28px;font-weight:900;position:absolute;bottom:18px;left:18px;right:18px}.complete{z-index:2;text-align:center;background:#0a1929b3;place-items:center;display:grid;position:absolute;inset:0}.controls{padding:14px}.row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.tabs{flex-wrap:wrap;gap:8px;display:flex}.pill{background:#f5f7fa;border:1px solid #dde3ea}.list{gap:10px;display:grid}.item{background:#fff;border:1px solid #dde3ea;border-radius:8px;padding:12px}.table{overflow:auto}.table table{border-collapse:collapse;background:#fff;width:100%;min-width:720px}.table th,.table td{text-align:left;border-bottom:1px solid #dde3ea;padding:12px}.jp{border-left:4px solid #d92d20}.qrbox{background:#fff;border:1px solid #dde3ea;border-radius:8px;place-items:center;padding:12px;display:inline-grid}@keyframes zoom{0%{transform:scale(1)}to{transform:scale(1.08)}}@media (max-width:520px){.main{padding:12px 12px 92px}.top{align-items:flex-start}.hero h1{font-size:38px}.caption{font-size:20px}}
.card>label.item{white-space:normal;align-items:center;gap:10px;width:100%;min-height:48px;margin-top:10px;line-height:1.35;display:flex}.card>label.item input{flex:none;width:18px;height:18px;margin:0}.card h2{margin-top:0}.brand-lockup{align-items:center;gap:12px;min-width:0;display:flex}.app-logo{-o-object-fit:contain;object-fit:contain;background:0 0;border-radius:50%;flex:none;width:54px;height:54px;padding:0;box-shadow:0 8px 22px #0a192929}.login-logo-wrap{align-items:center;gap:14px;margin-bottom:10px;display:flex}.hero .login-logo,.login-logo{-o-object-fit:contain;object-fit:contain;filter:drop-shadow(0 10px 18px #00000073);width:84px;height:84px;box-shadow:none;background:0 0;border-radius:50%;flex:none;padding:0}.brush-title,.brush-heading,.brush-hero{letter-spacing:.02em;font-feature-settings:"palt";font-family:Hiragino Mincho ProN,Yu Mincho,YuMincho,Noto Serif JP,serif;font-weight:900}.brush-title{font-size:20px;line-height:1.1}.brush-heading{text-shadow:.035em .035em #d92d2029}.brush-hero{text-shadow:.045em .045em #0a1929f2,0 14px 30px #00000080;position:relative;color:#fff!important}.brush-hero:after,.brush-heading:after{content:"";background:linear-gradient(90deg,#d92d20,#d92d2000);border-radius:999px;width:min(160px,45%);height:5px;margin-top:10px;display:block}.heroText{max-width:860px}.main>.grid{gap:18px}.nav{grid-template-columns:repeat(6,1fr)}.nav button{white-space:nowrap;min-width:0;padding:0 6px;font-size:12px}.main h1{color:#fff;background:#0a1929;border-radius:8px;align-items:center;width:fit-content;max-width:100%;margin:6px 0 4px;padding:10px 16px;font-size:clamp(28px,4vw,44px);line-height:1.1;display:inline-flex}.main h2{color:#0a1929;margin-bottom:10px;font-size:clamp(22px,3vw,34px);line-height:1.2}.card{border:2px solid #dde3ea;border-radius:8px;box-shadow:0 10px 28px #0a192912}.card h2,.card h3{color:#0a1929}.important-card,.game-panel{border-width:2px 2px 2px 8px}.warning{opacity:.9;font-size:13px;line-height:1.6}.side{padding-top:18px}.side button{border-radius:8px;min-height:54px;font-size:15px}.top{box-shadow:0 8px 22px #0a192914}.stats{grid-template-columns:repeat(3,minmax(0,1fr))}.stat{padding:16px}.stat span{color:#667085;font-weight:900}.stat strong{color:#d92d20}.cards{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.training h3,.tool-card h3,.material-card h3{font-size:24px;line-height:1.2}.training{border-top:6px solid #0a1929}.thumb{height:190px}.badge{margin-bottom:4px}.nav button{font-size:13px;font-weight:900}.nav .active{color:#d92d20;background:#fff5f5}.red-text{color:#d92d20}.red-label{color:#fff;background:#d92d20;border-radius:6px;align-items:center;min-height:28px;padding:4px 8px;font-size:13px;font-weight:900;display:inline-flex}.badge-red{color:#fff;background:#d92d20}.important-card{border-left:6px solid #d92d20}.game-hero{border:1px solid #ffffff14;box-shadow:inset 0 0 0 1px #ffffff14,0 18px 48px #0a19292e}.mission-strip{flex-wrap:wrap;gap:8px;margin-top:18px;display:flex}.mission-strip span,.badge-rack span,.tool-xp{color:#fff;background:#d92d20;border-radius:999px;align-items:center;min-height:34px;padding:5px 12px;font-weight:900;display:inline-flex;box-shadow:0 8px 20px #d92d2040}.mission-strip span:nth-child(2){background:#f97316}.mission-strip span:nth-child(3),.badge-rack span{background:#0a1929;border:1px solid #ffffff38}.game-panel{background:linear-gradient(135deg,#d92d2014,#f9731614),#fff;border:1px solid #d92d2038;border-left:7px solid #d92d20;border-radius:8px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:18px;padding:18px;display:grid;box-shadow:0 16px 45px #0a192917}.game-panel h2{margin:10px 0 6px}.badge-rack{flex-wrap:wrap;justify-content:flex-end;gap:8px;min-width:210px;display:flex}.important-point{color:#0a1929;background:#fff5f5;border-left:5px solid #d92d20;font-weight:900}.tool-card{gap:12px;min-width:0;display:grid}.tool-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,360px),1fr))}.tool-card h3,.tool-card p,.tool-card dd,.tool-card dt,.tool-card li,.tool-head,.tool-head button{writing-mode:horizontal-tb;word-break:keep-all;overflow-wrap:anywhere}.collect-card{border-top:5px solid #0a1929;transition:transform .18s,box-shadow .18s;position:relative;overflow:hidden}.collect-card:hover{transform:translateY(-3px);box-shadow:0 22px 50px #0a192929}.tool-image-wrap{background:#eef2f6;border-radius:8px;position:relative;overflow:hidden}.tool-image-wrap .photo{-o-object-fit:cover;object-fit:cover;width:100%;height:190px;display:block}.tool-xp{background:#f97316;position:absolute;bottom:10px;right:10px}.material-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,560px),1fr))}.material-card{border-left:5px solid #0a1929;grid-template-columns:220px minmax(0,1fr);gap:18px;display:grid;overflow:hidden}.material-photo{background:#eef2f6;border-radius:8px;min-height:240px;position:relative;overflow:hidden}.material-photo img{-o-object-fit:cover;object-fit:cover;width:100%;height:100%}.material-body{gap:10px;min-width:0;display:grid}.material-body h3{writing-mode:horizontal-tb;word-break:keep-all;overflow-wrap:normal;margin:8px 0 2px;font-size:clamp(28px,3vw,42px);line-height:1.15}.material-body p,.material-body .muted,.material-body .length-box,.material-body .critical-note{writing-mode:horizontal-tb;word-break:keep-all;overflow-wrap:anywhere;line-height:1.65}.material-body .tool-head{grid-template-columns:1fr;gap:10px;display:grid}.material-body .tool-head button{white-space:nowrap;writing-mode:horizontal-tb;justify-self:start;width:auto;min-width:160px}.length-box{background:#fff7ed;border:1px solid #f973165c;border-radius:8px;padding:10px}.length-box b{color:#c2410c}.length-box p{margin:6px 0 0;font-weight:800}.critical-note{color:#9f1f17;background:#fff5f5;border:1px solid #d92d2047;border-radius:8px;padding:10px;font-weight:900}.tool-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.tool-head h3{margin:8px 0 2px}.muted{color:#667085;margin:0}.tool-dl{gap:8px;margin:0;display:grid}.tool-dl dt{color:#0a1929;font-weight:900}.tool-dl dd{color:#17202a;margin:0 0 8px}.danger-dt{color:#d92d20!important}.danger-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.danger-list li{color:#9f1f17;background:#fff5f5;border:1px solid #d92d2047;border-radius:6px;padding:10px;font-weight:900}.warning{background:#fff;border-left:6px solid #d92d20;font-size:16px}.progress-hero{background:#fff;border:2px solid #dde3ea;border-left:8px solid #d92d20;border-radius:8px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:22px;padding:22px;display:grid;box-shadow:0 10px 28px #0a192912}.impact-hero{color:#fff;background:linear-gradient(110deg,#0a1929f7,#0a1929e6 56%,#d92d20d1),repeating-linear-gradient(135deg,#ffffff14 0 2px,#0000 2px 18px);border:0;border-left:10px solid #d92d20;min-height:340px;overflow:hidden;box-shadow:0 18px 42px #0a192938}.impact-title{text-shadow:0 4px 18px #00000073;max-width:760px;margin:8px 0 0;font-size:clamp(34px,5.6vw,64px);line-height:1.08;color:#fff!important}.progress-hero h1{color:#ff3b30;text-shadow:0 6px #00000047;background:0 0;border:0;width:fit-content;margin:12px 0 8px;padding:0;font-size:clamp(72px,11vw,132px);line-height:.95;display:block}.progress-hero .red-label,.simple-mission .red-label{width:fit-content;margin-bottom:8px;display:inline-flex}.progress-hero p{color:#fff;margin:0;font-size:18px;font-weight:900}.meter-wrap{justify-items:center;gap:10px;min-width:210px;display:grid}.meter-ring{--meter:0%;aspect-ratio:1;background:conic-gradient(#ff3b30 var(--meter), #ffffff38 0);border-radius:50%;place-items:center;width:220px;display:grid;position:relative;box-shadow:0 0 0 8px #ffffff14,0 22px 42px #00000042}.meter-ring:after{content:"";background:#fff;border-radius:50%;position:absolute;inset:16px;box-shadow:inset 0 0 0 2px #0a19291f}.meter-ring span{z-index:1;color:#0a1929;font-size:34px;font-weight:900;position:relative}.meter-info{text-align:center;gap:2px;display:grid}.meter-info strong{color:#ffb020;font-size:26px}.meter-info small{color:#ffffffd1;font-weight:900}.simple-mission{grid-template-columns:minmax(0,1fr) 180px}.simple-mission button{width:100%}@media (max-width:640px){.main h1{width:100%;font-size:28px;display:flex}.main h2{font-size:24px}.cards,.stats{grid-template-columns:1fr}.thumb{height:170px}.top{display:grid}.brand-lockup{width:100%}.app-logo{width:48px;height:48px}.login-logo{width:68px;height:68px}.brush-title{font-size:18px}.tool-head{display:grid}.tool-head button{width:100%}.game-panel{grid-template-columns:1fr}.badge-rack{justify-content:flex-start;min-width:0}.material-card{grid-template-columns:1fr}.material-photo{min-height:190px}.progress-hero{grid-template-columns:1fr}.meter-wrap{min-width:0}.meter-ring{width:150px}.simple-mission{grid-template-columns:1fr}}:root{--ink:#061421;--deep-blue:#06284a;--banner-blue:#0a4f86;--electric:#f4f7fb;--electric-2:#dce6ef;--danger-red:#e52b20}body{background:linear-gradient(#061421eb,#0614219e),url(/images/IMG_4471.JPG) top/cover fixed,#061421}.app{background:#04101d8c}.top{color:#fff;background:linear-gradient(90deg,#061421fa,#0a4f86f0);border-bottom:4px solid #ffffffb3}.top small,.brush-title{color:#fff;text-shadow:3px 3px #000}.top select,.top .primary{border:2px solid #ffffff59}.layout{max-width:1440px}.side{background:#061421e0;border-right:4px solid #dce6efbf}.side button{color:#fff;text-shadow:2px 2px #000;background:#ffffff14;border:2px solid #ffffff59}.side button.danger,.side button:hover{color:var(--ink);text-shadow:none;background:linear-gradient(#fff,#dce6ef);border-color:#fff;box-shadow:0 10px #000}.main{max-width:1180px}.warning{border:3px solid #ffffffb3;border-left:10px solid var(--danger-red);color:var(--ink);background:#fffffff5;box-shadow:10px 10px #00000059}.main h1{background:var(--ink);color:#fff;text-shadow:4px 4px #000;border:4px solid #fff;border-radius:0;box-shadow:8px 8px #e52b20cc}.card,.game-panel,.progress-hero{border:4px solid #ffffffbf;border-top:8px solid var(--ink);border-radius:8px;box-shadow:12px 12px #00000047}.red-label,.badge-red{background:var(--danger-red);color:#fff;text-shadow:2px 2px #000;border-radius:4px;box-shadow:4px 4px #00000059}.danger,.primary,.neon-cta{border:3px solid #071523;border-radius:8px;font-weight:900}.neon-cta,.game-panel .danger{color:var(--ink);text-shadow:none;background:linear-gradient(#fff,#dce6ef);box-shadow:0 10px #000}.danger:not(.neon-cta){background:var(--danger-red);box-shadow:0 8px #071523}.primary{background:var(--ink);color:#fff}.impact-hero{border:4px solid #fff;border-left:10px solid var(--danger-red);background:linear-gradient(90deg,#061421f5 0%,#061421db 48%,#0a4f869e 100%),url(/images/IMG_6915.JPG) 50%/cover;min-height:390px;position:relative;box-shadow:16px 16px #0000006b}.impact-hero:before{content:"鳶";z-index:0;aspect-ratio:1;width:110px;color:var(--ink);text-shadow:3px 3px #fff;background:radial-gradient(circle at 35% 30%,#fff,#dce6ef 72%);border:8px solid #fffffff5;border-radius:50%;place-items:center;font-family:Hiragino Mincho ProN,Yu Mincho,serif;font-size:68px;font-weight:900;display:grid;position:absolute;top:22px;left:24px;transform:rotate(-8deg)}.impact-copy,.meter-wrap{z-index:1;position:relative}.impact-copy{padding-left:min(13vw,150px)}.impact-title{text-shadow:5px 5px #000,0 0 18px #ffffff40;font-size:clamp(42px,6vw,76px);color:#fff!important}.progress-hero h1{color:#fff;text-shadow:5px 5px #000}.meter-ring{background:conic-gradient(#fff var(--meter), #ffffff38 0)}.meter-ring span{color:var(--ink)}.meter-info strong{color:#fff;text-shadow:3px 3px #000}.game-panel{border-left:10px solid var(--danger-red);background:linear-gradient(90deg,#fffffffa,#e8f6fff5)}.training,.collect-card,.material-card{background:#fffffffa}.tool-xp,.mission-strip span,.badge-rack span{background:#ff7a14;box-shadow:5px 5px #00000059}.nav{background:#061421f7;border-top:4px solid #ffffffbf}.nav button{color:#fff;text-shadow:1px 1px #000;background:0 0}.nav .active{color:var(--ink);text-shadow:none;background:#fff}.login{background:linear-gradient(90deg,#061421c7,#061421f2),url(/images/IMG_0139.JPG) 50%/cover}.login .hero:after{background:#06142157}.loginCard{border-top:8px solid var(--danger-red);box-shadow:14px 14px #0000006b}@media (max-width:760px){.impact-copy{padding-top:118px;padding-left:0}.impact-hero:before{width:86px;font-size:52px}.nav button{font-size:11px}}
