:root{ --mint:#78ffcd;--black:#000;--white:#fff; --g50:#fafafa;--g100:#f5f5f5;--g200:#e8e8e8;--g300:#d0d0d0; --g400:#999;--g500:#777;--g600:#555; --line:rgba(0,0,0,.07);--line-mid:rgba(0,0,0,.12);--line-strong:rgba(0,0,0,.18); --font:'Noto Sans JP',sans-serif;--radius:8px; } *{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent;} body{font-family:var(--font);background:var(--white);color:var(--black);min-height:100vh;max-width:430px;margin:0 auto;overflow-x:hidden;} svg.ic{fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;} button{font-family:var(--font);} /* TOPBAR */ .tb{display:flex;align-items:center;justify-content:space-between;padding:15px 20px 13px;border-bottom:1px solid var(--line-mid);position:sticky;top:0;z-index:50;background:var(--white);} .tb-mark{display:flex;align-items:center;gap:8px;font-size:15px;font-weight:700;letter-spacing:-.02em;} .tb-bar{width:3px;height:18px;background:var(--mint);border-radius:2px;flex-shrink:0;} .tb-right{display:flex;align-items:center;gap:9px;} .tb-date{font-size:12px;color:var(--g400);} .ic-btn{background:none;border:none;cursor:pointer;padding:4px;display:flex;align-items:center;color:var(--g600);} /* BOTTOM NAV */ .bn{position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:100%;max-width:430px;background:var(--white);border-top:1px solid var(--line-strong);display:flex;z-index:50;padding-bottom:env(safe-area-inset-bottom);} .bn-btn{flex:1;display:flex;flex-direction:column;align-items:center;padding:11px 4px 9px;gap:4px;cursor:pointer;color:var(--g400);font-size:10px;font-weight:500;letter-spacing:.04em;position:relative;background:none;border:none;font-family:var(--font);} .bn-btn.active{color:var(--black);} .bn-btn.active::before{content:'';position:absolute;top:0;left:50%;transform:translateX(-50%);width:22px;height:2px;background:var(--mint);border-radius:0 0 2px 2px;} /* SCREENS */ .screen{display:none;padding-bottom:84px;animation:fadeIn .18s ease;} .screen.active{display:block;} @keyframes fadeIn{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}} /* SHARED */ .sec-head{display:flex;align-items:center;justify-content:space-between;padding:14px 20px 8px;} .sec-ttl{font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--g400);} .empty-msg{text-align:center;padding:30px 20px;font-size:13px;color:var(--g400);line-height:1.9;} .divider{height:1px;background:var(--line);margin:0;} /* ── HOME ── */ .hero{padding:22px 20px 18px;border-bottom:1px solid var(--line);} .hero-greet{font-size:12px;color:var(--g400);margin-bottom:5px;} .hero-hl{font-size:21px;font-weight:900;line-height:1.3;letter-spacing:-.03em;margin-bottom:13px;} .mob-bdg{display:inline-flex;align-items:center;gap:7px;padding:5px 11px 5px 8px;background:var(--black);color:var(--white);border-radius:100px;font-size:11px;font-weight:700;} .mob-bdg .dot{width:7px;height:7px;background:var(--mint);border-radius:50%;flex-shrink:0;} .stats-row{display:flex;border-bottom:1px solid var(--line);} .stat{flex:1;padding:15px 0;display:flex;flex-direction:column;align-items:center;gap:3px;position:relative;} .stat+.stat::before{content:'';position:absolute;left:0;top:15px;bottom:15px;width:1px;background:var(--line);} .stat-n{font-size:26px;font-weight:900;letter-spacing:-.04em;line-height:1;} .stat-n.mint{color:var(--mint);-webkit-text-stroke:1.5px var(--black);} .stat-l{font-size:10px;color:var(--g400);font-weight:500;letter-spacing:.06em;text-transform:uppercase;} .check-strip{padding:11px 20px;border-bottom:1px solid var(--line);} .check-lbl{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--g400);margin-bottom:7px;} .check-btns{display:flex;gap:5px;} .ck-btn{flex:1;display:flex;flex-direction:column;align-items:center;gap:3px;padding:8px 2px;border:1px solid var(--g200);border-radius:6px;background:var(--white);cursor:pointer;transition:all .15s;} .ck-btn.active{border-color:var(--mint);background:var(--mint);} .ck-ei{font-size:19px;line-height:1;} .ck-el{font-size:9px;color:var(--g400);text-align:center;line-height:1.2;font-weight:500;} .ck-btn.active .ck-el{color:var(--black);font-weight:700;} .today-row{display:flex;align-items:center;gap:11px;padding:12px 20px;border-top:1px solid var(--line);cursor:pointer;} .t-ico{width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:16px;} .t-ico.pt{background:var(--mint);} .t-ico.ot{background:var(--black);} .t-ico.st{background:var(--g200);} .t-ico.self{background:var(--g100);border:1px dashed var(--g300);} .t-txt{flex:1;} .t-main{font-size:14px;font-weight:600;line-height:1.4;} .t-sub{font-size:11px;color:var(--g400);margin-top:2px;line-height:1.4;} .t-stars{font-size:12px;color:var(--g300);} .warn-strip{padding:11px 20px;background:var(--g50);border-top:1px solid var(--line);display:flex;gap:9px;align-items:flex-start;} .warn-txt{font-size:11px;color:var(--g600);line-height:1.7;} /* Admission strip */ .adm-strip{display:flex;border-bottom:1px solid var(--line);} .adm-cell{flex:1;padding:13px 0;display:flex;flex-direction:column;align-items:center;gap:3px;position:relative;} .adm-cell+.adm-cell::before{content:'';position:absolute;left:0;top:13px;bottom:13px;width:1px;background:var(--line);} .adm-n{font-size:28px;font-weight:900;letter-spacing:-.04em;line-height:1;color:var(--black);} .adm-n.accent{color:var(--mint);-webkit-text-stroke:1.5px var(--black);} .adm-l{font-size:10px;color:var(--g400);font-weight:500;letter-spacing:.06em;text-transform:uppercase;} .adm-sub{font-size:11px;color:var(--g400);margin-top:1px;} .adm-notset{font-size:13px;font-weight:500;color:var(--g300);} /* FAB */ .fab{position:fixed;bottom:88px;right:max(16px,calc(50vw - 199px));width:50px;height:50px;background:var(--black);border:none;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:40;box-shadow:0 4px 18px rgba(0,0,0,.25);transition:transform .15s;} .fab:active{transform:scale(.93);} /* ── RECORD ── */ .date-row{display:flex;align-items:center;justify-content:space-between;padding:11px 20px;border-bottom:1px solid var(--line);} .date-txt{font-size:15px;font-weight:700;letter-spacing:-.01em;} .date-nav{background:none;border:none;cursor:pointer;padding:6px 10px;color:var(--g400);font-size:17px;} .session-card{margin:10px 20px 0;border:1px solid var(--g200);border-radius:var(--radius);overflow:hidden;} .sc-head{display:flex;align-items:center;gap:8px;padding:10px 13px;background:var(--g50);} .sc-badge{font-size:10px;font-weight:900;letter-spacing:.06em;padding:3px 8px;border-radius:100px;} .sc-badge.pt{background:var(--mint);color:var(--black);} .sc-badge.ot{background:var(--black);color:var(--white);} .sc-badge.st{background:var(--g200);color:var(--black);} .sc-badge.self{background:var(--g100);color:var(--g600);border:1px solid var(--g300);} .sc-dur{font-size:12px;color:var(--g400);font-weight:500;} .sc-stars{margin-left:auto;font-size:12px;} .sc-del{background:none;border:none;color:var(--g300);cursor:pointer;padding:3px;display:flex;align-items:center;} .sc-body{padding:9px 13px 11px;} .sc-menus{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:5px;} .sc-menu-tag{font-size:11px;padding:3px 8px;background:var(--g100);border-radius:100px;color:var(--g600);} .sc-content{font-size:13px;line-height:1.6;color:var(--black);} .sc-memo{font-size:12px;color:var(--g500);margin-top:6px;padding-top:6px;border-top:1px solid var(--line);line-height:1.6;} .add-session-btn{display:flex;align-items:center;justify-content:center;gap:8px;margin:12px 20px 4px;width:calc(100% - 40px);background:var(--black);color:var(--white);border:none;border-radius:var(--radius);padding:14px;font-size:14px;font-weight:700;cursor:pointer;} .overall-sec{margin:14px 20px 0;padding:13px;border:1.5px solid var(--mint);border-radius:var(--radius);} .overall-lbl{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--g400);margin-bottom:8px;} .star-row{display:flex;gap:5px;margin-bottom:10px;} .star-btn{flex:1;display:flex;flex-direction:column;align-items:center;gap:3px;padding:8px 2px;border:1px solid var(--g200);border-radius:6px;background:var(--white);cursor:pointer;transition:all .15s;} .star-btn.active{border-color:var(--mint);background:var(--mint);} .star-em{font-size:19px;line-height:1;} .star-lb{font-size:9px;color:var(--g400);text-align:center;line-height:1.2;font-weight:500;} .star-btn.active .star-lb{color:var(--black);font-weight:700;} .memo-lbl{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--g400);margin-bottom:6px;margin-top:10px;} .memo-ta{width:100%;border:none;border-bottom:1.5px solid var(--g200);padding:7px 0;font-family:var(--font);font-size:14px;resize:none;background:none;color:var(--black);outline:none;} .memo-ta:focus{border-bottom-color:var(--mint);} .save-btn{display:flex;align-items:center;justify-content:center;gap:8px;margin:12px 20px 4px;width:calc(100% - 40px);background:var(--mint);color:var(--black);border:none;border-radius:var(--radius);padding:14px;font-size:14px;font-weight:700;cursor:pointer;} /* ── CALENDAR ── */ .cal-sec{padding:0 20px 20px;} .cal-head{display:flex;align-items:center;justify-content:space-between;padding:13px 0 9px;} .cal-mo{font-size:15px;font-weight:700;letter-spacing:-.02em;} .cal-nav{background:none;border:none;cursor:pointer;color:var(--g400);padding:4px 8px;font-size:16px;} .cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:3px;} .cal-wd{text-align:center;font-size:10px;font-weight:700;color:var(--g400);letter-spacing:.04em;padding:3px 0 5px;} .cal-d{aspect-ratio:1;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:12px;font-weight:500;color:var(--g400);cursor:pointer;border-radius:50%;position:relative;} .cal-d.today{background:var(--mint);color:var(--black);font-weight:900;} .cal-d.has-rec{color:var(--black);font-weight:700;} .cal-d.has-rec::after{content:'';position:absolute;bottom:3px;left:50%;transform:translateX(-50%);width:4px;height:4px;background:var(--black);border-radius:50%;} .cal-d.today.has-rec::after{background:rgba(0,0,0,.45);} .cal-d.other{color:var(--g200);} .cal-d.sel{outline:2px solid var(--black);outline-offset:1px;} .day-preview{margin:0 20px;padding:13px;border:1px solid var(--g200);border-radius:var(--radius);min-height:56px;} .dp-ttl{font-size:11px;font-weight:700;color:var(--g400);margin-bottom:9px;letter-spacing:.04em;} .dp-row{display:flex;align-items:center;gap:7px;padding:5px 0;border-top:1px solid var(--line);} .dp-badge{font-size:10px;font-weight:700;padding:2px 7px;border-radius:100px;} .dp-badge.pt{background:var(--mint);} .dp-badge.ot{background:var(--black);color:var(--white);} .dp-badge.st{background:var(--g200);} .dp-badge.self{background:var(--g100);border:1px solid var(--g300);} .dp-info{flex:1;font-size:11px;color:var(--g500);} .dp-memo{font-size:12px;color:var(--g400);padding:8px 0 0;border-top:1px solid var(--line);line-height:1.6;} /* ── GOALS ── */ .goals-tabs{display:flex;padding:0 20px;border-bottom:1px solid var(--line-mid);} .goals-tab{flex:1;padding:11px 0 9px;font-size:12px;font-weight:700;text-align:center;cursor:pointer;color:var(--g400);border-bottom:2px solid transparent;background:none;border-top:none;border-left:none;border-right:none;margin-bottom:-1px;font-family:var(--font);} .goals-tab.active{color:var(--black);border-bottom:2px solid var(--black);} .goals-panel{display:none;padding:0 20px 28px;} .goals-panel.active{display:block;animation:fadeIn .15s ease;} .goals-hint{font-size:11px;color:var(--g400);line-height:1.75;padding:11px 0 11px;border-bottom:1px solid var(--line);margin-bottom:0;} .g-lbl{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--g400);display:block;margin-bottom:6px;margin-top:14px;} .g-inp{width:100%;border:none;border-bottom:1.5px solid var(--g200);padding:8px 0;font-family:var(--font);font-size:14px;color:var(--black);background:none;outline:none;resize:none;} .g-inp:focus{border-bottom-color:var(--mint);} .g-date-inp{width:100%;border:none;border-bottom:1.5px solid var(--g200);padding:8px 0;font-family:var(--font);font-size:14px;color:var(--black);background:none;outline:none;} .g-date-inp:focus{border-bottom-color:var(--mint);} .discharge-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px;} .discharge-chip{padding:6px 13px;border:1px solid var(--line-strong);border-radius:100px;font-size:13px;font-weight:500;color:var(--g600);cursor:pointer;background:none;transition:all .15s;} .discharge-chip.active{border-color:var(--black);background:var(--black);color:var(--white);} .tasks-wrap{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px;} .task-chip{display:flex;align-items:center;gap:4px;padding:5px 10px;border:1px solid var(--line-strong);border-radius:100px;font-size:12px;color:var(--g600);} .task-chip-del{background:none;border:none;cursor:pointer;color:var(--g300);display:flex;padding:0;margin-left:1px;} .add-task-row{display:flex;gap:8px;margin-top:8px;} .task-inp{flex:1;border:none;border-bottom:1.5px solid var(--g200);padding:7px 0;font-family:var(--font);font-size:14px;color:var(--black);background:none;outline:none;} .task-inp:focus{border-bottom-color:var(--mint);} .task-add-btn{background:var(--black);color:var(--white);border:none;border-radius:5px;padding:7px 13px;font-size:13px;font-weight:700;cursor:pointer;flex-shrink:0;} .goals-save-btn{width:100%;background:var(--mint);color:var(--black);border:none;border-radius:var(--radius);padding:14px;font-size:14px;font-weight:700;cursor:pointer;margin-top:18px;} /* ── INFO ── */ .info-hero{padding:22px 20px 17px;border-bottom:1px solid var(--line);} .info-hero-sub{font-size:11px;color:var(--g400);margin-bottom:6px;letter-spacing:.04em;} .info-hero-title{font-size:19px;font-weight:900;letter-spacing:-.03em;line-height:1.3;margin-bottom:10px;} .info-ver{display:inline-flex;align-items:center;gap:6px;padding:4px 10px 4px 8px;border:1px solid var(--line-strong);border-radius:100px;font-size:11px;color:var(--g500);} .info-sec{border-top:1px solid var(--line);} .info-item{padding:13px 20px;display:flex;align-items:center;gap:11px;border-bottom:1px solid var(--line);cursor:pointer;} .info-item:last-child{border-bottom:none;} .info-ico{width:30px;height:30px;background:var(--g100);border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--g600);} .info-txt{flex:1;} .info-ttl{font-size:14px;font-weight:700;} .info-sub{font-size:12px;color:var(--g400);margin-top:2px;} .info-footer{text-align:center;padding:18px 20px;font-size:11px;color:var(--g400);line-height:1.9;border-top:1px solid var(--line);} /* ── OVERLAYS ── */ .overlay{position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:200;display:none;align-items:flex-end;justify-content:center;} .overlay.open{display:flex;animation:oin .2s ease;} @keyframes oin{from{opacity:0}to{opacity:1}} .bsheet{background:var(--white);border-radius:20px 20px 0 0;width:100%;max-width:430px;max-height:93vh;overflow-y:auto;} .sh-handle{width:34px;height:3px;background:var(--g200);border-radius:100px;margin:12px auto 0;} .sh-head{padding:15px 20px 13px;border-bottom:1px solid var(--line);} .sh-ttl{font-size:18px;font-weight:900;letter-spacing:-.02em;} /* ADD SESSION */ .as-body{padding:0 20px 40px;} .as-lbl{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--g400);display:block;margin-bottom:8px;margin-top:15px;} .as-type-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-bottom:4px;} .as-type-btn{padding:11px 8px;border:1.5px solid var(--g200);border-radius:var(--radius);background:var(--white);cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:5px;transition:all .15s;} .as-type-btn.active.pt{border-color:var(--mint);background:var(--mint);} .as-type-btn.active.ot{border-color:var(--black);background:var(--black);} .as-type-btn.active.st{border-color:var(--g400);background:var(--g200);} .as-type-btn.active.self{border-color:var(--g400);background:var(--g100);} .as-type-em{font-size:22px;line-height:1;} .as-type-nm{font-size:12px;font-weight:700;color:var(--g600);} .as-type-btn.active .as-type-nm{color:var(--black);} .as-type-btn.active.ot .as-type-nm{color:var(--white);} /* Duration */ .dur-row{display:flex;gap:6px;align-items:center;} .dur-chip{padding:7px 14px;border:1px solid var(--line-strong);border-radius:100px;font-size:13px;font-weight:500;color:var(--g600);cursor:pointer;background:none;transition:all .15s;flex-shrink:0;} .dur-chip.active{border-color:var(--black);background:var(--black);color:var(--white);} .dur-custom-wrap{display:flex;align-items:center;gap:4px;border:1px solid var(--line-strong);border-radius:100px;padding:4px 10px;} .dur-custom-inp{border:none;font-family:var(--font);font-size:13px;width:38px;color:var(--black);background:none;outline:none;text-align:center;} .dur-custom-lbl{font-size:12px;color:var(--g400);} /* Menu chips */ .menu-chips-wrap{display:flex;flex-wrap:wrap;gap:6px;margin-top:2px;} .menu-chip{padding:6px 12px;border:1px solid var(--line-strong);border-radius:100px;font-size:12px;font-weight:500;color:var(--g600);cursor:pointer;background:none;transition:all .15s;} .menu-chip.selected{border-color:var(--black);background:var(--black);color:var(--white);} .as-sep{height:1px;background:var(--line);margin:14px 0 0;} .goal-ref{background:var(--g50);border:1px dashed var(--g300);border-radius:6px;padding:9px 11px;margin-top:8px;font-size:11px;color:var(--g500);line-height:1.7;display:none;} .goal-ref-ttl{font-weight:700;color:var(--g400);font-size:10px;letter-spacing:.06em;text-transform:uppercase;margin-bottom:4px;} .as-inp{width:100%;border:none;border-bottom:1.5px solid var(--g200);padding:8px 0;font-family:var(--font);font-size:14px;color:var(--black);background:none;outline:none;resize:none;} .as-inp:focus{border-bottom-color:var(--mint);} .as-star-row{display:flex;gap:5px;} .as-star-btn{flex:1;display:flex;flex-direction:column;align-items:center;gap:3px;padding:8px 2px;border:1px solid var(--g200);border-radius:6px;background:var(--white);cursor:pointer;transition:all .15s;} .as-star-btn.active{border-color:var(--mint);background:var(--mint);} .as-star-em{font-size:18px;line-height:1;} .as-star-lb{font-size:9px;color:var(--g400);text-align:center;line-height:1.2;font-weight:500;} .as-star-btn.active .as-star-lb{color:var(--black);font-weight:700;} .as-save-btn{width:100%;background:var(--black);color:var(--white);border:none;border-radius:var(--radius);padding:14px;font-size:14px;font-weight:700;cursor:pointer;margin-top:18px;} /* SETTINGS */ .set-body{padding:0 20px 40px;} .fld-blk{margin-top:15px;} .fld-lbl{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--g400);display:block;margin-bottom:6px;} .fld-inp{width:100%;border:none;border-bottom:1.5px solid var(--g200);padding:9px 0;font-family:var(--font);font-size:16px;font-weight:500;color:var(--black);background:none;outline:none;} .fld-inp:focus{border-bottom-color:var(--mint);} .mob-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:7px;} .mob-btn{padding:11px 8px;border:1.5px solid var(--g200);border-radius:var(--radius);background:var(--white);cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:5px;transition:all .15s;} .mob-btn.active{border-color:var(--black);background:var(--black);} .mob-em{font-size:22px;line-height:1;} .mob-nm{font-size:12px;font-weight:700;color:var(--g600);} .mob-btn.active .mob-nm{color:var(--white);} .set-save-btn{width:100%;background:var(--black);color:var(--white);border:none;border-radius:var(--radius);padding:14px;font-size:14px;font-weight:700;cursor:pointer;margin-top:20px;} /* MODAL */ .modal-sh{padding:4px 20px 42px;} .modal-ttl{font-size:18px;font-weight:900;letter-spacing:-.02em;padding:6px 0 10px;} .modal-body{font-size:13px;color:var(--g600);line-height:1.85;} .modal-body strong{color:var(--black);} .modal-close{width:100%;background:var(--g100);border:none;border-radius:6px;padding:13px;font-size:14px;font-weight:700;cursor:pointer;margin-top:18px;color:var(--g600);} /* ONBOARDING */ .onboard{position:fixed;inset:0;background:var(--white);z-index:500;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:36px 26px;max-width:430px;margin:0 auto;} .ob-bar{width:3px;height:22px;background:var(--mint);border-radius:2px;margin-bottom:18px;} .ob-title{font-size:24px;font-weight:900;letter-spacing:-.03em;line-height:1.25;margin-bottom:13px;text-align:center;} .ob-body{font-size:12px;color:var(--g600);line-height:1.85;margin-bottom:22px;text-align:left;width:100%;} .ob-body li{margin-bottom:7px;padding-left:14px;position:relative;list-style:none;} .ob-body li::before{content:'·';position:absolute;left:0;color:var(--mint);font-weight:900;font-size:16px;} .ob-agree{width:100%;background:var(--black);color:var(--white);border:none;border-radius:var(--radius);padding:15px;font-size:15px;font-weight:700;cursor:pointer;margin-bottom:10px;font-family:var(--font);} .ob-note{font-size:11px;color:var(--g400);text-align:center;line-height:1.7;} /* TOAST */ .toast{position:fixed;bottom:92px;left:50%;transform:translateX(-50%);background:rgba(0,0,0,.9);color:var(--white);padding:10px 20px;border-radius:100px;font-size:13px;font-weight:700;z-index:400;pointer-events:none;opacity:0;transition:opacity .3s;white-space:nowrap;} .toast.show{opacity:1;}
カイリハ・ログ
今日の体調
今日のセッション
本アプリは医療機器ではありません。痛みや体調不良が生じた場合は使用を中止し、担当の医師・療法士にご相談ください。
日付をタップ
入院日 退院予定日 記録あり
日付をタップすると記録を確認できます
セッションを追加
設定