:root{--ink:#1a1a1a;--ink2:#4a4a4a;--ink3:#767676;--line:#e0ddd7;--bg:#fbfaf8;--teal:#1f6f6b;--teal-bg:#f0f5f4;--w:min(880px,calc(100vw - 2.5rem))}*{box-sizing:border-box}body,html{margin:0;padding:0}body{background:var(--bg);color:var(--ink);font-family:Hiragino Kaku Gothic ProN,Yu Gothic UI,Meiryo,system-ui,sans-serif;font-size:15px;line-height:1.8;word-break:normal;overflow-wrap:anywhere}.wrap{width:var(--w);margin:0 auto;padding:2.5rem 0 5rem}header.bar{border-bottom:1px solid var(--line);background:var(--card)}header.bar .wrap{padding:1rem 0;align-items:baseline;gap:.9rem}.brand{font-weight:700;letter-spacing:.04em}.brand small{font-weight:400;font-size:.8rem;margin-left:.5rem;letter-spacing:.08em}@media (max-width:1024px){.brand .pc,.brand small{display:none}}h1{font-size:1.5rem;margin:0 0 .4rem}h1,h2{font-weight:700}h2{font-size:1.05rem;margin:2.4rem 0 .8rem;padding-bottom:.4rem;border-bottom:1px solid var(--line)}.lead{color:var(--ink2);margin:0 0 2rem}.card{background:var(--card);border:1px solid var(--line);padding:1.2rem 1.3rem;margin:0 0 .8rem}.card .when{font-size:.82rem;letter-spacing:.03em}.card .title{font-size:1.08rem;font-weight:700;margin:.15rem 0 .3rem}.card .course{font-size:.85rem}.now{background:var(--teal-bg);border:1px solid var(--teal);padding:1.4rem}.now .label{font-size:.78rem;font-weight:700;letter-spacing:.1em}.now .item{font-size:1.35rem;font-weight:700;margin:.3rem 0 0;line-height:1.5}.now .none{font-size:1rem;font-weight:400;color:var(--ink2)}label{display:block;font-size:.85rem;margin:.9rem 0 .25rem}input{width:100%;padding:.6rem .7rem;font-size:1rem;font-family:inherit;border:1px solid var(--line);background:#fff;color:var(--ink)}input:focus{outline:2px solid var(--teal);outline-offset:1px;border-color:var(--teal)}button{font-family:inherit;font-size:.95rem;padding:.6rem 1.4rem;cursor:pointer;border:1px solid var(--teal)}button:hover{background:#175652}button:disabled{background:#b9b9b9;border-color:#b9b9b9;cursor:default}button.quiet{color:var(--teal)}.msg{margin:1rem 0 0;padding:.7rem .9rem;border-left:3px solid var(--teal);background:var(--teal-bg);font-size:.9rem}.msg.bad{border-left-color:#a3402f;background:#faf0ee}.muted{color:var(--ink3);font-size:.85rem}.code{font-family:ui-monospace,Consolas,monospace;font-size:1.9rem;font-weight:700;letter-spacing:.14em;color:var(--teal)}.row{display:flex;gap:.6rem;align-items:center;flex-wrap:wrap}.foot{margin-top:3rem;padding-top:1rem;border-top:1px solid var(--line);font-size:.8rem}button.google{display:inline-flex;align-items:center;gap:.6rem;background:#fff;color:var(--ink);border:1px solid #b7b3ac;padding:.65rem 1.3rem;font-size:1rem}button.google:hover{background:#f4f2ef}button.google .g{font-weight:700;font-size:1.05rem;line-height:1;font-family:Product Sans,system-ui,sans-serif;color:#4285f4}.cal{background:var(--card);border:1px solid var(--line);padding:.8rem}.cal .fc{font-size:.9rem}.cal .fc .fc-toolbar-title{font-size:1.05rem;font-weight:700}.cal .fc .fc-button{background:var(--card);box-shadow:none;text-transform:none}.cal .fc .fc-button:hover,.cal .fc .fc-daygrid-day.fc-day-today{background:var(--teal-bg)}.cal .fc .fc-event{border:0;border-radius:2px;padding:1px 4px;font-size:.8rem;cursor:pointer}.cal .fc .fc-event.mine{background:var(--teal);color:#fff}.cal .fc .fc-event.open{background:#fff;color:var(--teal);border:1px solid var(--teal)}.cal .fc .fc-event.other{background:#eeeceb;color:var(--ink2)}.cal .fc .fc-list-event:hover td{background:var(--teal-bg)}.cal .fc-theme-standard .fc-scrollgrid,.cal .fc-theme-standard td,.cal .fc-theme-standard th{border-color:var(--line)}button.quiet.on{background:var(--teal);color:#fff;border-color:var(--teal)}textarea{width:100%;box-sizing:border-box;font:inherit;padding:.6rem .7rem;border:1px solid var(--line);background:var(--card);color:var(--ink)}header.bar .wrap{display:flex;align-items:center;justify-content:space-between}.umenu{position:relative}.ubadge,.umenu{display:inline-flex}.ubadge{margin:0;padding:0;width:32px;height:32px;border-radius:50%;border:1px solid var(--line);background:var(--teal-bg);align-items:center;justify-content:center;cursor:pointer}.ubadge:hover{border-color:var(--teal)}.uinit{font-size:.85rem;font-weight:700;color:var(--teal);line-height:1}.upop{position:absolute;right:0;top:40px;min-width:14rem;background:var(--card);border:1px solid var(--line);box-shadow:0 6px 20px rgba(0,0,0,.08);padding:.4rem 0;z-index:20;display:flex;flex-direction:column}.upop .uname{padding:.5rem .9rem .6rem;font-weight:700;border-bottom:1px solid var(--line);margin-bottom:.3rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:18rem}.upop a,.upop button{display:block;text-align:left;padding:.5rem .9rem;color:var(--ink);text-decoration:none;background:none;border:0;font:inherit;cursor:pointer;width:100%}.upop a:hover,.upop button:hover{background:var(--teal-bg)}.upop a.uon{color:var(--teal);font-weight:700}.upop a.uadm{border-top:1px solid var(--line);margin-top:.3rem;color:var(--teal)}.upop button{margin-top:.3rem;color:var(--ink3)}.topnav{display:flex;gap:.1rem}.topnav a{display:flex;flex-direction:column;align-items:center;gap:.05rem;padding:.3rem .55rem;text-decoration:none;border-radius:4px;font-size:.68rem;line-height:1}.topnav a.on{font-weight:700}.topnav .ico{position:relative;display:inline-flex}.topnav .badge{position:absolute;top:-6px;right:-10px;min-width:16px;height:16px;padding:0 4px;border-radius:8px;background:var(--wine,#b23a48);color:#fff;font-size:.62rem;font-weight:700;line-height:16px;text-align:center}.topnav .lbl{white-space:nowrap}@media (max-width:640px){.topnav a{padding:.3rem .4rem}.topnav .lbl{display:none}}.thumbcard{display:grid;grid-template-columns:220px 1fr;grid-gap:1rem;gap:1rem;align-items:start}.thumbcard .thumb{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:6px;display:block;border:1px solid var(--line)}.thumbcard .body{min-width:0}.thumbcard.hero{grid-template-columns:320px 1fr;margin-bottom:1rem}@media (max-width:640px){.thumbcard,.thumbcard.hero{grid-template-columns:1fr}.thumbcard .thumb{max-width:420px}}.chip{display:inline-block;font-size:.7rem;font-weight:600;color:var(--teal);background:var(--teal-bg);border-radius:3px;padding:.1rem .45rem;margin-right:.5rem;vertical-align:middle}.uphoto{width:32px;height:32px;border-radius:50%;object-fit:cover;display:block}.navdrop{position:relative;display:inline-block}.navdrop .navpop{display:none;position:absolute;left:0;top:100%;min-width:12rem;background:var(--card);border:1px solid var(--line);box-shadow:0 6px 20px rgba(0,0,0,.08);padding:.3rem 0;z-index:20;flex-direction:column}.navdrop:focus-within .navpop,.navdrop:hover .navpop{display:flex}.navdrop .navpop a{display:block;padding:.45rem .9rem;border-radius:0;font-size:.9rem}.navdrop .navpop a.all{border-top:1px solid var(--line);margin-top:.2rem;color:var(--ink3)}.popup-back{position:fixed;inset:0;background:rgba(26,26,26,.45);z-index:50;display:flex;align-items:flex-start;justify-content:center;padding:2.5rem 1rem;overflow:auto}.popup{background:var(--bg);width:min(52rem,100%);max-height:calc(100vh - 5rem);display:flex;flex-direction:column;border:1px solid var(--line);box-shadow:0 12px 40px rgba(0,0,0,.18)}.popup-head{display:flex;justify-content:space-between;align-items:center;padding:.7rem 1rem;border-bottom:1px solid var(--line);background:var(--card);font-weight:700}.popup-body{overflow:auto;padding:1rem}.subnav{background:var(--card)}.subnav .wrap{display:flex;gap:.2rem;padding:.3rem 0}.subnav a{padding:.5rem 1rem;color:var(--ink2);text-decoration:none;border-bottom:2px solid transparent;font-size:.95rem}.subnav a.on,.subnav a:hover{color:var(--teal)}.subnav a.on{border-bottom-color:var(--teal);font-weight:700}:root{--ink:#1f3333;--ink2:#3d4d4d;--ink3:#5a6b6b;--line:#d8d2bd;--bg:#fdf9ee;--card:#fff;--teal:#1a7373;--teal-bg:#e6f1ef;--yellow:#ffd43d;--wine:#7a2020;--shadow:3px 3px 0 0 var(--ink)}body{font-family:Zen Maru Gothic,Hiragino Maru Gothic ProN,Yu Gothic,Meiryo,sans-serif;font-size:15.5px;line-height:1.85;color:var(--ink2)}.brand,.card .title,.now .item,.popup-head,.upop .uname,h1,h2,h3{color:var(--ink);font-weight:900}h1{font-size:1.7rem;letter-spacing:.01em}h2{font-size:1.15rem;border-bottom:0;padding-bottom:0;position:relative;padding-left:.9rem}h2:before{content:"";position:absolute;left:0;top:.35em;width:.45rem;height:.9em;background:var(--yellow);border:2px solid var(--ink);border-radius:3px}a{color:var(--teal)}header.bar{background:var(--bg);border-bottom:2px solid var(--ink)}.brand{display:inline-flex;align-items:center;gap:.55rem;font-size:1.05rem}.brand img.logo{height:26px;width:auto;display:block}.brand small{color:var(--ink3);font-weight:500}.topnav a{color:var(--ink2);border-radius:10px}.topnav a:hover{background:var(--teal-bg)}.topnav a.on{color:var(--teal)}.topnav .badge{color:var(--ink);border:1.5px solid var(--ink)}.topnav .badge,.ubadge{background:var(--yellow)}.ubadge{border:2px solid var(--ink);box-shadow:2px 2px 0 0 var(--ink)}.uinit{color:var(--ink)}.upop{border:2px solid var(--ink);border-radius:14px;box-shadow:4px 4px 0 0 var(--ink);overflow:hidden}.subnav{background:var(--bg);border-bottom:1px solid var(--line)}.subnav a{font-weight:700;border-bottom-width:3px;border-radius:0}.subnav a.on{color:var(--ink);border-bottom-color:var(--yellow)}.card{border:2px solid var(--ink);border-radius:18px;box-shadow:6px 6px 0 0 var(--ink);padding:1.3rem 1.5rem;margin:0 0 1.1rem}.card .when{color:var(--ink3);font-weight:500}.card .course{color:var(--ink2)}.now{background:#fff;border:2px solid var(--teal);border-radius:18px;box-shadow:6px 6px 0 0 var(--teal)}.now .label{color:var(--teal);font-weight:900}.msg{border:2px solid var(--ink);border-left:8px solid var(--teal);border-radius:12px;background:#fff}.msg.bad{border-left-color:var(--wine);background:#fff5f3}.chip{background:var(--yellow);color:var(--ink);border:1.5px solid var(--ink);border-radius:999px;font-weight:700;padding:.05rem .55rem}.thumbcard .thumb{border:2px solid var(--ink);border-radius:14px}.cal{border:2px solid var(--ink);border-radius:18px;box-shadow:6px 6px 0 0 var(--ink)}.cal .fc .fc-event{border-radius:6px}.cal .fc .fc-event.open{color:var(--ink);background:var(--yellow);border:1px solid var(--ink)}.popup{border:2px solid var(--ink);border-radius:18px;box-shadow:8px 8px 0 0 var(--ink);overflow:hidden}button{border:2px solid var(--ink);border-radius:999px;background:var(--teal);color:#fff;font-weight:900;padding:.55rem 1.4rem;box-shadow:var(--shadow);transition:transform .06s,box-shadow .06s}button:hover{background:#155e5e}button:active{transform:translate(2px,2px);box-shadow:1px 1px 0 0 var(--ink)}button.quiet{background:#fff;color:var(--ink)}button.quiet:hover{background:var(--teal-bg)}button.quiet.on{background:var(--yellow);color:var(--ink);border-color:var(--ink)}button:disabled{background:#e9e4d6;color:#8a8a80;border-color:#b9b4a5;box-shadow:none}button.google{border:2px solid var(--ink);border-radius:999px;box-shadow:var(--shadow);font-weight:700}.subnav a,.topnav a{box-shadow:none}.cal .fc .fc-button,.upop a,.upop button{border-radius:0;box-shadow:none;font-weight:700}.upop button{border:0;border-top:1px solid var(--line)}.cal .fc .fc-button{border:1px solid var(--line);border-radius:8px;padding:.25rem .6rem;background:#fff;color:var(--ink2)}.cal .fc .fc-button-primary:not(:disabled).fc-button-active{background:var(--teal);color:#fff;border-color:var(--teal)}input,select,textarea{border:2px solid var(--ink);border-radius:12px;background:#fff}input:focus,select:focus,textarea:focus{outline:3px solid var(--yellow);outline-offset:1px;border-color:var(--ink)}label{color:var(--ink2);font-weight:700}.foot{border-top:2px solid var(--ink);color:var(--ink3)}@media (max-width:640px){.card{box-shadow:4px 4px 0 0 var(--ink);padding:1.1rem}h1{font-size:1.4rem}}@media (max-width:1024px){.brand img.logo{display:none}}