@import"https://fonts.googleapis.com/css2?family=Libre+Baskerville:wght@400;700&family=Noto+Sans+JP:wght@400;500;600;700&family=Noto+Serif+JP:wght@400;500;600&display=swap";:root{font-family:Noto Sans JP,Hiragino Sans,Yu Gothic,sans-serif;color:#062e62;background:#f2f7fb;font-synthesis:none;--navy: #052f68;--deep: #03295e;--blue: #0e7de7;--sky: #70bcf4;--mist: #f2f7fb;--line: #d6e4f0;--muted: #6d87a5}*{box-sizing:border-box}html{min-width:320px;background:var(--mist)}body{margin:0;min-width:320px;min-height:100vh}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}.eyebrow,.section-index{margin:0;font:700 11px/1.2 Libre Baskerville,serif;letter-spacing:.18em;color:var(--blue)}.section-index.light{color:#78c3f8}.muted{color:var(--muted)}.form-error{margin:14px 0 0;color:#c53535;font-size:12px}.status-screen{min-height:70vh;display:grid;place-items:center;padding:24px;color:var(--muted);text-align:center}.status-screen p{margin:0;line-height:1.9}.status-screen button{margin-top:20px;border:0;padding:12px 22px;border-radius:99px;background:var(--blue);color:#fff;font-size:10px;font-weight:700}.group-brand{position:relative;width:270px;height:84px;display:block;overflow:hidden}.group-brand img{width:270px;height:auto;display:block;transform:translateY(-27px)}.group-brand.compact{width:192px;height:60px}.group-brand.compact img{width:192px;transform:translateY(-19px)}.login-layout{min-height:100vh;display:grid;grid-template-columns:1.16fr .84fr;background:#fff}.login-hero{position:relative;overflow:hidden;min-height:100vh;padding:46px clamp(40px,5vw,84px);display:flex;flex-direction:column;justify-content:space-between;color:#fff;background:linear-gradient(108deg,#052f68,#164e89 43%,#72baf0)}.login-hero:before{content:"OCEAN TO TABLE";position:absolute;left:20%;top:46%;color:#ffffff12;font:400 clamp(50px,5vw,92px)/1 Georgia,serif;white-space:nowrap}.login-hero:after{content:"";position:absolute;width:620px;height:620px;right:-330px;top:16%;border:1px solid #ffffff25;border-radius:50%}.login-brand{position:relative;z-index:2;width:fit-content;padding:8px 16px;border-radius:16px;background:#fff;box-shadow:0 16px 40px #042c6126}.login-hero-copy{position:relative;z-index:2;padding:5vh 0 8vh}.login-hero .eyebrow{display:inline-block;margin-left:16px;color:#fff}.hero-pill{display:inline-block;padding:10px 18px;border:1px solid #ffffff86;border-radius:99px;font:700 10px/1 Libre Baskerville,serif;letter-spacing:.15em}.login-hero h1{margin:30px 0 22px;font:500 clamp(47px,5vw,82px)/1.34 "Noto Serif JP","Yu Mincho",serif;letter-spacing:-.05em}.login-hero h1 em{font-style:normal}.hero-copy{margin:0;color:#edf7ff;font-size:15px;font-weight:600;line-height:2}.hero-vertical{position:absolute;z-index:2;right:38px;bottom:54px;writing-mode:vertical-rl;font:700 9px/1 Georgia,serif;letter-spacing:.35em}.login-panel{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px;background:#f8fbfe}.login-card{width:min(100%,430px)}.mobile-brand{display:none;margin-bottom:52px}.login-card .eyebrow{margin-bottom:20px}.login-card h2{margin:0 0 14px;font:500 38px/1.4 "Noto Serif JP",serif;letter-spacing:-.05em}.login-card .muted{margin:0 0 38px;font-size:12px;line-height:1.8}.login-card label{display:block;margin:24px 0 10px;color:var(--navy);font-size:11px;font-weight:700}.label-row{display:flex;align-items:center;justify-content:space-between}.input-wrap{min-height:60px;display:flex;align-items:center;gap:14px;padding:0 18px;border:1px solid #bfd3e5;border-radius:12px;background:#fff}.input-wrap:focus-within{border-color:var(--blue);box-shadow:0 0 0 3px #0e7de715}.input-wrap span{color:var(--blue);font-size:10px;font-weight:700}.input-wrap input{flex:1;min-width:0;border:0;outline:0;color:var(--navy);background:transparent;font-size:14px}.primary-button{width:100%;min-height:62px;margin-top:28px;border:0;border-radius:99px;background:var(--blue);color:#fff;font-weight:700;box-shadow:0 16px 32px #0e7de72c}.primary-button:hover{background:#096ccc}.demo-note{margin:18px 0 0;padding:12px;border-radius:8px;background:#eaf4fb;color:var(--muted);text-align:center;font-size:11px}.copyright{margin:48px 0 0;color:#91a7be;font:700 8px/1 Georgia,serif;letter-spacing:.14em}.app-shell{min-height:100vh;padding-bottom:36px;background:var(--mist)}.topbar{height:94px;display:flex;align-items:center;justify-content:space-between;padding:0 max(48px,calc((100vw - 1540px)/2));border-bottom:1px solid #e0eaf2;background:#ffffffed;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.header-actions{display:flex;align-items:center;gap:32px}.header-nav{display:flex;align-items:center;gap:clamp(14px,2vw,30px)}.header-nav a{position:relative;color:#6782a0;text-decoration:none;font-size:10px;font-weight:700}.header-nav a:after{content:"";position:absolute;height:2px;inset:auto 50% -10px;background:var(--blue);transition:inset .2s}.header-nav a.active{color:var(--navy)}.header-nav a.active:after{inset-inline:0}.header-context{color:#6782a0;font:700 10px/1 Georgia,serif;letter-spacing:.2em}.avatar-button{min-width:126px;height:48px;display:flex;align-items:center;justify-content:center;gap:10px;border:0;border-radius:99px;background:var(--blue);color:#fff;box-shadow:0 10px 28px #0e7de726}.avatar-button span{width:28px;height:28px;display:grid;place-items:center;border-radius:50%;background:#fff;color:var(--blue);font-weight:700}.avatar-button small{font-size:10px;font-weight:700}.dashboard{width:min(1500px,calc(100% - 96px));margin:0 auto;padding:70px 0 90px}.admin-intro{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:54px}.admin-intro h1{margin:16px 0 0;font:400 clamp(48px,5.2vw,82px)/1.38 "Noto Serif JP",serif;letter-spacing:-.06em}.role-chip{min-width:190px;display:grid;gap:9px;padding:18px 22px;border-left:2px solid var(--blue)}.role-chip span{color:var(--muted);font:700 9px/1 Georgia,serif;letter-spacing:.2em}.role-chip strong{font-size:15px}.admin-overview{display:grid;grid-template-columns:.95fr 1.05fr;overflow:hidden;border:1px solid var(--line);border-radius:34px;background:#fff;box-shadow:0 28px 60px #052f6810}.admin-concept{position:relative;overflow:hidden;min-height:560px;padding:72px 68px;display:flex;flex-direction:column;justify-content:center;background:linear-gradient(145deg,#087ee7,#0756b9);color:#fff}.admin-concept:before{content:"LAUGH";position:absolute;left:-22px;top:28px;color:#ffffff0c;font:700 118px/1 Georgia,serif}.admin-concept h2{position:relative;margin:25px 0 20px;font:400 clamp(30px,3vw,48px)/1.6 "Noto Serif JP",serif}.admin-concept>p:not(.section-index){position:relative;color:#d9efff;font-size:13px;line-height:2}.concept-ring{position:absolute;width:360px;height:360px;right:-180px;bottom:-180px;border:1px solid #ffffff4c;border-radius:50%}.admin-metrics{position:relative;z-index:1;display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:42px}.admin-metrics div{padding:18px 0;border-top:1px solid #ffffff4a}.admin-metrics strong{display:block;font:400 30px/1 Georgia,serif}.admin-metrics span{display:block;margin-top:9px;color:#bfe2fb;font-size:9px}.admin-action-list{padding:62px 68px}.admin-action-list>p{margin-bottom:30px}.admin-action-list button{width:100%;min-height:96px;display:grid;grid-template-columns:46px 1fr 24px;align-items:center;gap:18px;border:0;border-bottom:1px solid var(--line);background:#fff;color:var(--navy);text-align:left}.admin-action-list button>span{color:var(--blue);font:700 11px/1 Georgia,serif}.admin-action-list button div{display:grid;gap:8px}.admin-action-list button strong{font:600 18px/1.2 "Noto Serif JP",serif}.admin-action-list button small{color:var(--muted);font-size:10px}.admin-action-list button b{color:var(--blue);font-size:20px;transition:transform .2s}.admin-action-list button:hover b{transform:translate(5px)}.admin-footer-panel{margin-top:28px;padding:42px 50px;display:flex;align-items:center;justify-content:space-between;border-radius:28px;background:var(--navy);color:#fff}.admin-footer-panel h2{margin:16px 0 8px;font:400 30px/1.5 "Noto Serif JP",serif}.admin-footer-panel p:not(.section-index){margin:0;color:#a9cae8;font-size:11px}.admin-footer-panel button{min-width:260px;height:60px;display:flex;align-items:center;justify-content:space-between;padding:0 24px;border:0;border-radius:99px;background:#fff;color:var(--navy);font-weight:700}.back-link{margin-bottom:38px;border:0;padding:0;background:transparent;color:var(--blue);font-size:11px;font-weight:700}.store-intro{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:50px}.store-intro h1{margin:16px 0 0;font:400 clamp(48px,5vw,78px)/1.4 "Noto Serif JP",serif;letter-spacing:-.06em}.store-intro>p{margin:0 0 12px;color:var(--muted);font-size:12px;line-height:2}.store-register-panel{display:grid;grid-template-columns:.9fr 1.1fr;overflow:hidden;border:1px solid var(--line);border-radius:34px;background:#fff;box-shadow:0 28px 60px #052f6810}.store-concept{position:relative;overflow:hidden;min-height:510px;padding:68px;display:flex;flex-direction:column;justify-content:center;background:linear-gradient(145deg,#087ee7,#0756b9);color:#fff}.store-concept:after{content:"";position:absolute;width:340px;height:340px;right:-180px;bottom:-180px;border:1px solid #ffffff42;border-radius:50%}.store-concept h2{margin:24px 0 20px;font:400 clamp(34px,3.2vw,50px)/1.5 "Noto Serif JP",serif}.store-concept>p:not(.section-index){max-width:390px;color:#d9efff;font-size:12px;line-height:2}.store-concept>span{position:absolute;right:28px;bottom:38px;color:#ffffff52;font:700 10px/1 Georgia,serif;letter-spacing:.22em}.store-form{padding:64px 72px;display:flex;flex-direction:column;justify-content:center}.store-form>.section-index{margin-bottom:24px}.store-form label{margin:22px 0 10px;font-size:11px;font-weight:700}.store-form input{width:100%;min-height:64px;padding:0 20px;border:1px solid #bfd3e5;border-radius:12px;outline:0;color:var(--navy);background:#fbfdff}.store-form input:focus{border-color:var(--blue);box-shadow:0 0 0 3px #0e7de715}.store-form input::placeholder{color:#94abc0}.field-help{margin:9px 0 0;color:var(--muted);font-size:9px}.store-form>button{width:100%;min-height:64px;margin-top:28px;display:flex;align-items:center;justify-content:space-between;padding:0 25px;border:0;border-radius:99px;background:var(--blue);color:#fff;font-weight:700}.store-message{margin:18px 0 0;color:#bd3b3b;font-size:11px}.store-message.success{color:#08764c}.store-list-section{margin-top:68px}.store-list-heading{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:22px}.store-list-heading h2{margin:12px 0 0;font:500 30px/1.3 "Noto Serif JP",serif}.store-list-heading>strong{color:var(--blue);font:400 48px/1 Georgia,serif}.store-list{overflow:hidden;border:1px solid var(--line);border-radius:24px;background:#fff}.store-list article{min-height:100px;display:grid;grid-template-columns:64px 1fr auto;align-items:center;gap:18px;padding:20px 32px;border-bottom:1px solid var(--line)}.store-list article:last-child{border-bottom:0}.store-list article>span{color:var(--blue);font:700 11px/1 Georgia,serif}.store-list h3{margin:0 0 8px;font:600 17px/1.3 "Noto Serif JP",serif}.store-list p{margin:0;color:var(--muted);font:700 9px/1 Georgia,serif;letter-spacing:.12em}.store-list b{padding:8px 13px;border-radius:99px;font-size:9px}.store-list b.active{background:#e5f7ef;color:#08764c}.store-list b.inactive{background:#edf1f4;color:#718090}.store-edit-form{display:grid;grid-template-columns:minmax(180px,1.2fr) minmax(120px,.7fr) auto;gap:8px}.store-edit-form input{min-width:0;min-height:42px;padding:0 12px;border:1px solid var(--line);border-radius:10px;color:var(--navy);background:#f8fbfe}.store-edit-form button{border:0;padding:0 13px;border-radius:10px;background:#eaf5fd;color:var(--blue);font-size:9px;font-weight:700}.store-list .store-status{border:0;padding:8px 13px;border-radius:99px;font-size:9px;font-weight:700}.store-list .store-status.active{background:#e5f7ef;color:#08764c}.store-list .store-status.inactive{background:#edf1f4;color:#718090}.empty-store{margin:0;padding:48px;border:1px dashed #bcd2e4;border-radius:22px;color:var(--muted);text-align:center;font-size:12px}.management-intro{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:50px}.management-intro h1{margin:16px 0 0;font:400 clamp(48px,5vw,78px)/1.4 "Noto Serif JP",serif;letter-spacing:-.06em}.management-intro>p{margin:0 0 12px;color:var(--muted);font-size:12px;line-height:2}.management-grid{display:grid;grid-template-columns:.88fr 1.12fr;overflow:hidden;border:1px solid var(--line);border-radius:34px;background:#fff;box-shadow:0 28px 60px #052f6810}.management-concept{position:relative;overflow:hidden;min-height:570px;padding:68px;display:flex;flex-direction:column;justify-content:center;background:linear-gradient(145deg,#087ee7,#0756b9);color:#fff}.management-concept.navy{background:linear-gradient(145deg,#062f67,#032555)}.management-concept:before{content:"LAUGH";position:absolute;left:-24px;top:28px;color:#ffffff0a;font:700 110px/1 Georgia,serif}.management-concept:after{content:"";position:absolute;width:340px;height:340px;right:-170px;bottom:-170px;border:1px solid #ffffff42;border-radius:50%}.management-concept h2{position:relative;margin:24px 0 20px;font:400 clamp(34px,3.2vw,50px)/1.5 "Noto Serif JP",serif}.management-concept>p:not(.section-index){position:relative;max-width:390px;color:#d9efff;font-size:12px;line-height:2}.management-concept>span{position:absolute;right:28px;bottom:38px;color:#ffffff52;font:700 10px/1 Georgia,serif;letter-spacing:.22em}.management-form{padding:58px 64px;display:flex;flex-direction:column;justify-content:center}.management-form>.section-index{margin-bottom:18px}.management-form label,.editor-card label{margin:18px 0 9px;color:var(--navy);font-size:10px;font-weight:700}.management-form input,.management-form select,.management-form textarea,.editor-card input,.editor-card select,.editor-card textarea{width:100%;min-height:58px;padding:12px 18px;border:1px solid #bfd3e5;border-radius:12px;outline:0;color:var(--navy);background:#fbfdff;resize:vertical}.management-form textarea,.editor-card textarea{line-height:1.8}.management-form input:focus,.management-form select:focus,.management-form textarea:focus,.editor-card input:focus,.editor-card select:focus,.editor-card textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px #0e7de715}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-row>div{display:flex;min-width:0;flex-direction:column}.form-submit{width:100%;min-height:62px;margin-top:24px;display:flex;align-items:center;justify-content:space-between;padding:0 24px;border:0;border-radius:99px;background:var(--blue);color:#fff;font-weight:700}.invite-link-box{display:grid;grid-template-columns:1fr auto;gap:10px;margin-top:18px}.invite-link-box input{min-width:0;font-size:9px}.invite-link-box button{border:0;border-radius:12px;padding:0 18px;background:var(--navy);color:#fff;font-size:10px;font-weight:700}.records-section{margin-top:68px}.records-heading{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:22px}.records-heading h2{margin:12px 0 0;font:500 30px/1.3 "Noto Serif JP",serif}.records-heading>strong{color:var(--blue);font:400 48px/1 Georgia,serif}.record-list{overflow:hidden;border:1px solid var(--line);border-radius:24px;background:#fff}.record-list article{min-height:104px;display:grid;grid-template-columns:54px minmax(180px,.8fr) 1.2fr auto;align-items:center;gap:18px;padding:20px 30px;border-bottom:1px solid var(--line)}.record-list article:last-child{border-bottom:0}.record-list article>span{color:var(--blue);font:700 11px/1 Georgia,serif}.record-list h3{margin:0 0 7px;font:600 16px/1.35 "Noto Serif JP",serif}.record-list p{margin:0;color:var(--muted);font-size:9px}.record-tags{display:flex;flex-wrap:wrap;gap:6px}.record-tags b{padding:8px 12px;border-radius:99px;background:#eaf5fd;color:var(--blue);font-size:9px}.record-tags b.expired{background:#f8e9e9;color:#a43535}.assignment-list{display:grid;gap:7px}.role-assignment-form{display:grid;grid-template-columns:minmax(110px,.65fr) minmax(150px,1fr) auto;gap:7px}.role-assignment-form select{min-width:0;min-height:38px;padding:0 9px;border:1px solid var(--line);border-radius:9px;background:#f8fbfe;color:var(--navy);font-size:9px}.role-assignment-form button{border:0;padding:0 12px;border-radius:9px;background:#eaf5fd;color:var(--blue);font-size:9px;font-weight:700}.record-list em{padding:8px 12px;border-radius:99px;font-size:9px;font-style:normal;font-weight:700}.record-list em.active{background:#e5f7ef;color:#08764c}.record-list em.inactive{background:#edf1f4;color:#718090}.record-list article>button{border:0;padding:8px 12px;border-radius:99px;background:#f8e9e9;color:#a43535;font-size:9px;font-weight:700}.record-list article>.member-status.active{background:#e5f7ef;color:#08764c}.record-list article>.member-status.inactive{background:#edf1f4;color:#718090}.invite-page{min-height:100vh;display:grid;grid-template-columns:1.08fr .92fr;background:#fff}.invite-brand{position:relative;overflow:hidden;min-height:100vh;padding:58px clamp(40px,5vw,88px);display:flex;flex-direction:column;justify-content:center;color:#fff;background:linear-gradient(120deg,#052f68,#164e89 52%,#72baf0)}.invite-brand:after{content:"OCEAN TO TABLE";position:absolute;right:-20px;top:12%;color:#ffffff0c;font:700 clamp(55px,7vw,110px)/1 Georgia,serif;white-space:nowrap}.invite-brand .group-brand{position:absolute;z-index:2;left:clamp(40px,5vw,88px);top:46px;padding:8px 14px;border-radius:14px;background:#fff}.invite-brand .section-index{position:relative;z-index:2;margin-top:90px}.invite-brand h1{position:relative;z-index:2;margin:26px 0 20px;font:500 clamp(48px,5.5vw,82px)/1.4 "Noto Serif JP",serif;letter-spacing:-.06em}.invite-brand>p:last-child{position:relative;z-index:2;color:#eaf6ff;font-size:14px;font-weight:600;line-height:2}.invite-panel{display:grid;place-items:center;padding:54px;background:#f8fbfe}.invite-card{width:min(100%,460px)}.invite-card h2{margin:18px 0 14px;font:500 38px/1.4 "Noto Serif JP",serif}.invite-card .muted{font-size:12px;line-height:1.8}.invite-card label{display:block;margin:22px 0 9px;font-size:10px;font-weight:700}.auth-error{margin:16px 0 0;color:#b23b3b;font-size:11px;line-height:1.7}.secondary-button,.plain-link{width:100%;border:0;background:transparent;color:var(--blue);font-size:10px;font-weight:700}.secondary-button{min-height:52px;margin-top:10px}.plain-link{margin-top:26px}.manual-list{display:grid;gap:16px}.manual-list article{display:grid;grid-template-columns:76px 1fr;overflow:hidden;border:1px solid var(--line);border-radius:24px;background:#fff;box-shadow:0 16px 35px #052f6808}.manual-number{display:grid;place-items:center;background:var(--blue);color:#fff;font:700 12px/1 Georgia,serif}.manual-body{padding:28px 34px}.manual-title-row{display:flex;align-items:center;justify-content:space-between;gap:24px}.manual-title-row p{margin:0 0 8px;color:var(--muted);font-size:9px}.manual-title-row h3{margin:0;font:600 20px/1.4 "Noto Serif JP",serif}.status-draft,.status-published,.status-archived{width:fit-content;padding:8px 12px;border-radius:99px;font-size:9px}.status-draft{background:#f2f1e5;color:#847118}.status-published{background:#e5f7ef;color:#08764c}.status-archived{background:#edf1f4;color:#718090}.manual-list details{margin-top:22px;border-top:1px solid var(--line)}.manual-list summary{padding:18px 0 4px;display:flex;justify-content:space-between;color:var(--blue);cursor:pointer;font-size:10px;font-weight:700;list-style:none}.manual-content{padding:16px 0 8px;color:#294d75;font-size:12px;line-height:2;white-space:pre-wrap}.record-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}.record-actions button{border:1px solid var(--line);padding:8px 12px;border-radius:99px;background:#fff;color:var(--navy);font-size:9px;font-weight:700}.manual-edit-form{margin-top:22px;padding:24px;display:grid;gap:14px;border-radius:18px;background:#f3f8fc}.manual-edit-form label{display:grid;gap:7px;color:var(--navy);font-size:9px;font-weight:700}.manual-edit-form input,.manual-edit-form select,.manual-edit-form textarea{width:100%;min-height:48px;padding:11px 14px;border:1px solid var(--line);border-radius:10px;outline:0;color:var(--navy);background:#fff;resize:vertical}.training-intro>p{color:var(--navy);font-size:13px;font-weight:700}.training-editor-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:52px}.editor-card{padding:40px;display:flex;flex-direction:column;border:1px solid var(--line);border-radius:26px;background:#fff;box-shadow:0 18px 40px #052f6809}.editor-card.navy{background:var(--navy);color:#fff}.editor-card h2{margin:14px 0 4px;font:500 27px/1.4 "Noto Serif JP",serif}.editor-card.navy label{color:#b9d9f2}.editor-card.navy input,.editor-card.navy select,.editor-card.navy textarea{border-color:#ffffff35;background:#16457c;color:#fff}.light-button{background:#fff;color:var(--navy)}.course-tabs{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px;margin-bottom:24px}.course-tabs>div{min-height:96px;display:grid;grid-template-columns:36px 1fr auto;align-items:center;gap:10px;padding:20px;border:1px solid var(--line);border-radius:20px;background:#fff}.course-tabs>div.active{border-color:var(--blue);background:var(--blue);color:#fff}.course-tabs span{color:var(--blue);font:700 10px/1 Georgia,serif}.course-tabs .active span{color:#fff}.course-tabs strong{font-size:13px}.course-tabs b{font:700 11px/1 Georgia,serif}.course-list{display:grid;gap:24px}.course-card{overflow:hidden;border:1px solid var(--line);border-radius:30px;background:#fff;box-shadow:0 22px 48px #052f680c}.course-card>header{min-height:250px;padding:54px 58px;display:flex;align-items:center;justify-content:space-between;color:#fff;background:linear-gradient(110deg,#052f68,#073b79)}.course-card>header h2{margin:22px 0 12px;font:400 35px/1.4 "Noto Serif JP",serif}.course-card>header p:not(.section-index){margin:0;color:#b7d8f0;font-size:11px}.course-card>header>strong{width:90px;height:90px;display:grid;place-items:center;border-radius:50%;background:#fff;color:var(--navy);font:700 19px/1 Georgia,serif}.course-edit-form{padding:28px 42px;display:grid;gap:14px;background:#eff6fb}.course-edit-form label,.lesson-edit-form label{display:grid;gap:7px;color:var(--navy);font-size:9px;font-weight:700}.course-edit-form input,.course-edit-form select,.course-edit-form textarea,.lesson-edit-form input,.lesson-edit-form select,.lesson-edit-form textarea{width:100%;min-height:46px;padding:10px 13px;border:1px solid var(--line);border-radius:9px;color:var(--navy);background:#fff;resize:vertical}.lesson-list>div{min-height:96px;display:grid;grid-template-columns:58px 1fr;align-items:center;gap:20px;padding:20px 44px;border-bottom:1px solid var(--line)}.lesson-list>div.completed{background:#f5fbf8}.lesson-check{width:50px;height:50px;border:2px solid #c7d9e8;border-radius:50%;background:#fff;color:var(--blue);font-weight:700}.completed .lesson-check{border-color:#19a06b;background:#19a06b;color:#fff}.lesson-list p{margin:0 0 6px;color:var(--muted);font-size:9px;line-height:1.7;white-space:pre-wrap}.lesson-list h3{margin:0;font:600 16px/1.4 "Noto Serif JP",serif}.lesson-list details{margin-top:10px}.lesson-list summary{color:var(--blue);cursor:pointer;font-size:9px;font-weight:700}.lesson-list details p{margin-top:10px;color:#294d75;font-size:11px;line-height:1.9}.inline-edit-button{margin-top:12px;border:0;padding:0;background:transparent;color:var(--blue);font-size:9px;font-weight:700}.lesson-edit-form{margin-top:16px;padding:20px;display:grid;gap:12px;border-radius:14px;background:#edf5fa}.empty-course{margin:0;padding:38px;color:var(--muted);text-align:center;font-size:11px}.course-card>footer{display:flex;align-items:center;justify-content:space-between;padding:18px 42px;background:#f8fbfe}.course-card>footer button{border:0;background:transparent;color:var(--blue);font-size:9px;font-weight:700}.course-footer-status{display:flex;align-items:center;gap:14px}.welcome-row{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:44px}.welcome-row h1{margin:15px 0 0;font:400 clamp(40px,4vw,66px)/1.45 "Noto Serif JP",serif;letter-spacing:-.05em}.rank-chip{display:flex;flex-direction:column;align-items:flex-end;gap:7px}.rank-chip span{color:var(--muted);font-size:9px}.rank-chip strong{color:var(--blue);font:700 13px/1 Georgia,serif;letter-spacing:.15em}.progress-card{position:relative;overflow:hidden;min-height:310px;padding:62px;display:flex;flex-direction:column;justify-content:flex-end;border-radius:32px;background:linear-gradient(110deg,#03295e,#073b79);color:#fff;box-shadow:0 25px 55px #052f681c}.progress-card:before{content:"FIRST STEP";position:absolute;right:-20px;top:-18px;color:#ffffff08;font:700 106px/1 Georgia,serif}.progress-copy{display:flex;align-items:center;gap:18px}.progress-copy p{margin:0 0 7px;color:#80c8fb;font:700 10px/1 Georgia,serif;letter-spacing:.14em}.progress-copy h2{margin:0;font:400 31px/1.4 "Noto Serif JP",serif}.section-icon{width:52px;height:52px;flex:0 0 auto;display:grid;place-items:center;border-radius:50%;background:#fff;color:var(--blue);font-weight:700}.progress-status{position:absolute;right:62px;top:58px;width:94px;height:94px;display:grid;place-items:center;border-radius:50%;background:#fff;color:var(--navy)}.progress-status strong{font:700 23px/1 Georgia,serif}.progress-status span{display:none}.progress-track{height:4px;margin:34px 0 22px;overflow:hidden;border-radius:99px;background:#ffffff2b}.progress-track span{display:block;width:38%;height:100%;background:#68bef7}.progress-card>button{width:fit-content;border:0;padding:0;background:transparent;color:#fff;font-size:11px;font-weight:700}.progress-card>button span{margin-left:15px;color:var(--sky)}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;margin:62px 0 22px}.section-heading h2{margin:12px 0 0;font:500 28px/1.3 "Noto Serif JP",serif}.text-button{border:0;background:transparent;color:var(--blue);font-size:10px;font-weight:700}.menu-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.menu-card{min-height:180px;padding:24px;display:flex;flex-direction:column;justify-content:space-between;border:1px solid var(--line);border-radius:22px;background:#fff;color:var(--navy);text-align:left}.menu-card:first-child{background:var(--blue);color:#fff}.menu-card h3{margin:18px 0 6px;font:600 16px/1.4 "Noto Serif JP",serif}.menu-card p{margin:0;color:var(--muted);font-size:10px}.menu-card:first-child p{color:#c9e8ff}.card-arrow{align-self:flex-end;color:var(--blue)}.menu-card:first-child .card-arrow{color:#fff}.green,.blue,.purple,.yellow,.orange{background:#eaf5fd;color:var(--blue)}.notice-card{margin-top:28px;padding:28px;display:flex;align-items:center;gap:20px;border:1px solid var(--line);border-radius:22px;background:#fff}.notice-card div{flex:1}.notice-card h2{margin:6px 0;font:600 15px/1.4 "Noto Serif JP",serif}.notice-card p{margin:0;color:var(--muted);font-size:9px}.bottom-nav,.mobile-break{display:none}@media(max-width:980px){.login-layout{grid-template-columns:1fr}.header-nav{display:none}.login-hero{min-height:48vh;padding:30px 36px}.login-brand{display:none}.login-hero-copy{padding:8vh 0 2vh}.login-hero h1{font-size:clamp(42px,8vw,68px)}.login-panel{padding:54px 28px}.mobile-brand{display:block}.admin-overview,.store-register-panel,.management-grid,.invite-page{grid-template-columns:1fr}.management-concept{min-height:400px}.invite-brand{min-height:48vh}.invite-brand .group-brand{top:30px}.training-editor-grid{grid-template-columns:1fr}.admin-concept{min-height:440px}.menu-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:680px){.app-shell{padding-bottom:78px}.topbar{height:74px;padding:0 18px}.header-context,.avatar-button small{display:none}.avatar-button{min-width:40px;width:40px;height:40px;padding:0}.avatar-button span{width:30px;height:30px}.dashboard{width:calc(100% - 32px);padding:42px 0 60px}.admin-intro{display:block;margin-bottom:34px}.admin-intro h1{font-size:39px}.role-chip{margin-top:26px;min-width:0;padding:12px 16px}.admin-overview{border-radius:24px}.admin-concept{min-height:420px;padding:42px 28px}.admin-concept h2{font-size:30px}.admin-metrics{gap:8px}.admin-metrics strong{font-size:23px}.admin-action-list{padding:38px 26px}.admin-action-list button{min-height:92px;grid-template-columns:35px 1fr 18px;gap:10px}.admin-action-list button strong{font-size:15px}.admin-footer-panel{display:block;padding:32px 26px}.admin-footer-panel h2{font-size:24px}.admin-footer-panel button{width:100%;min-width:0;margin-top:26px}.store-intro{display:block}.store-intro h1{font-size:39px}.store-intro>p{margin-top:24px}.store-register-panel{border-radius:24px}.store-concept{min-height:360px;padding:42px 28px}.store-concept h2{font-size:31px}.store-form{padding:40px 26px}.store-list article{grid-template-columns:34px 1fr;padding:20px}.store-list b{grid-column:2;width:fit-content}.store-edit-form{grid-template-columns:1fr}.store-list .store-status{grid-column:2;width:fit-content}.management-intro{display:block}.management-intro h1{font-size:39px}.management-intro>p{margin-top:24px}.management-grid{border-radius:24px}.management-concept{min-height:350px;padding:42px 28px}.management-concept h2{font-size:31px}.management-form{padding:38px 24px}.form-row{grid-template-columns:1fr;gap:0}.record-list article{grid-template-columns:32px 1fr;padding:20px}.record-tags,.assignment-list,.record-list em,.record-list article>button{grid-column:2;width:100%}.role-assignment-form{grid-template-columns:1fr}.invite-brand{min-height:43vh;padding:92px 24px 44px}.invite-brand .group-brand{left:24px;top:22px}.invite-brand h1{font-size:39px}.invite-panel{padding:48px 24px}.invite-card h2{font-size:32px}.manual-list article{grid-template-columns:42px 1fr}.manual-body{padding:24px 20px}.manual-title-row{align-items:flex-start}.manual-title-row h3{font-size:17px}.training-editor-grid{gap:14px}.editor-card{padding:30px 22px}.course-tabs{grid-template-columns:1fr}.course-card{border-radius:24px}.course-card>header{min-height:280px;padding:42px 26px;align-items:flex-end}.course-card>header h2{font-size:28px}.course-card>header>strong{width:68px;height:68px}.lesson-list>div{grid-template-columns:48px 1fr;padding:20px 18px;gap:12px}.lesson-check{width:44px;height:44px}.course-card>footer{padding:16px 20px}.course-edit-form{padding:24px 20px}.course-footer-status{align-items:flex-start;flex-direction:column;gap:8px}.welcome-row{display:block}.welcome-row h1{font-size:36px}.rank-chip{margin-top:20px;align-items:flex-start}.progress-card{min-height:340px;padding:34px 24px}.progress-status{width:72px;height:72px;right:24px;top:28px}.progress-copy h2{font-size:24px}.menu-grid{grid-template-columns:1fr 1fr}.menu-card{min-height:165px;padding:18px}.notice-card>button{display:none}.bottom-nav{position:fixed;z-index:10;inset:auto 0 0;height:68px;display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);background:#ffffffef;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.bottom-nav button{display:grid;place-items:center;gap:3px;border:0;background:transparent;color:#91a8bd}.bottom-nav button span{font-size:9px}.bottom-nav button.active{color:var(--blue)}.login-hero{min-height:42vh;padding:26px 24px}.login-hero h1{margin-top:22px;font-size:39px}.hero-vertical{display:none}.hero-copy{font-size:12px}.login-card h2{font-size:32px}}@media(max-width:390px){.menu-grid{grid-template-columns:1fr}}@media(prefers-reduced-motion:no-preference){.login-card,.dashboard>*{animation:rise .5s ease both}.dashboard>*:nth-child(2){animation-delay:.07s}.dashboard>*:nth-child(3){animation-delay:.14s}@keyframes rise{0%{opacity:0;transform:translateY(10px)}}}.store-csv-card{margin:28px 0;padding:28px;border:1px solid #d8e3ef;border-radius:24px;background:#fff;box-shadow:0 12px 36px #24538014}.store-csv-header{display:flex;align-items:flex-start;justify-content:space-between;gap:24px}.store-csv-header h2{margin:6px 0 8px;font-size:26px}.store-csv-header p{max-width:700px;margin:0;color:#65788b;line-height:1.7}.store-csv-actions{display:flex;flex-wrap:wrap;gap:10px}.store-csv-secondary-button,.store-csv-primary-button{border:0;border-radius:999px;font-weight:700;cursor:pointer}.store-csv-secondary-button{padding:11px 18px;background:#eef5fc;color:#1769aa}.store-csv-secondary-button:disabled{cursor:not-allowed;opacity:.45}.store-csv-upload{display:flex;align-items:center;gap:16px;margin-top:22px;padding:16px 18px;border:1px dashed #abc3d9;border-radius:14px;background:#f8fbfe}.store-csv-upload span{font-weight:700;color:#153d61}.store-csv-upload small{margin-right:auto;color:#718497}.store-csv-file-name{margin:10px 0 0;color:#536b80;font-size:14px}.store-csv-preview{margin-top:20px}.store-csv-summary{display:flex;gap:12px;margin-bottom:14px}.store-csv-summary span{display:flex;align-items:center;gap:8px;padding:9px 13px;border-radius:10px;background:#f1f6fa;color:#536b80}.store-csv-summary strong{font-size:18px;color:#153d61}.store-csv-table-wrap{max-height:300px;overflow:auto;border:1px solid #dce6ef;border-radius:12px}.store-csv-table{width:100%;border-collapse:collapse;font-size:14px}.store-csv-table th,.store-csv-table td{padding:11px 13px;border-bottom:1px solid #e5edf4;text-align:left}.store-csv-table th{position:sticky;top:0;background:#f4f8fc;color:#36536c}.store-csv-primary-button{margin-top:16px;padding:13px 22px;background:#2479c9;color:#fff}.store-csv-primary-button:disabled{cursor:not-allowed;opacity:.5}@media(max-width:800px){.store-csv-header,.store-csv-upload{align-items:stretch;flex-direction:column}.store-csv-actions{width:100%}.store-csv-secondary-button{flex:1}.store-csv-summary{flex-wrap:wrap}}
