@font-face{font-family:Noto Sans JP;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/NotoSansJP.woff2)format("woff2")}@font-face{font-family:Noto Serif JP;font-style:normal;font-weight:200 900;font-display:swap;src:url(/fonts/NotoSerifJP.woff2)format("woff2")}:root{--bg:#f8f7f2;--paper:#fff;--ink:#233c38;--muted:#6c7a73;--green:#26776b;--deep:#18584f;--line:#dce3dc;--soft:#eaf0e8;--gold:#b58956}*{box-sizing:border-box}body{background:var(--bg);color:var(--ink);margin:0;font:15px/1.85 Noto Sans JP,sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{opacity:.5;cursor:wait}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-offset:3px;outline:3px solid #e5b878}h1,h2,h3,p{margin:0 0 16px}h1,h2,h3{line-height:1.5}h1{letter-spacing:.03em;font-size:34px}h2{font-size:24px}h3{font-size:18px}small{font-size:12px}em{font-style:normal}.site-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;max-width:1320px;height:100px;margin:auto;padding:0 48px;display:flex}.brand{white-space:nowrap;align-items:center;gap:12px;font:700 25px Noto Serif JP,serif;display:flex}.brand-mark{background:var(--green);color:#fff;border-radius:50%;place-items:center;width:42px;height:42px;font-size:23px;display:grid}.brand-sub{letter-spacing:.17em;color:var(--muted);align-self:flex-end;margin-bottom:5px;font:500 9px Noto Sans JP,sans-serif}nav{align-items:center;gap:28px;font-size:13px;display:flex}nav a:hover,.text-link:hover{color:var(--green)}main{max-width:1224px;min-height:70vh;margin:auto;padding:0 32px 80px}.button{border:1px solid var(--green);background:var(--green);color:#fff;border-radius:6px;justify-content:center;align-items:center;gap:20px;padding:13px 24px;font-weight:600;line-height:1.6;transition:background .15s;display:inline-flex}.button:hover{background:var(--deep);color:#fff}.button.outline{color:var(--green);background:0 0}.button.outline:hover{background:var(--soft)}.button.small{padding:8px 16px;font-size:13px}.button.full{width:100%}.text-button{color:var(--muted);background:0 0;border:0;padding:5px;font-size:13px}.actions{flex-wrap:wrap;gap:12px;display:flex}.eyebrow{color:var(--green);letter-spacing:.15em;margin-bottom:20px;font-size:11px;font-weight:700;display:block}.dot{background:var(--green);border-radius:100%;width:7px;height:7px;margin-right:7px;display:inline-block}.hero{grid-template-columns:1.2fr 1fr;align-items:center;gap:30px;min-height:600px;display:grid}.hero h1{letter-spacing:.04em;margin:23px 0;font-family:Noto Serif JP,serif;font-size:54px;line-height:1.65}.hero h1 em{color:var(--green)}.hero p{color:var(--muted);margin-bottom:30px;font-size:15px;line-height:2.1}.hero-note{color:var(--muted);margin-top:20px;font-size:11px}.memory-art{place-items:center;height:440px;display:grid;position:relative}.orbit{border:1px solid #ccd9cc;border-radius:50%;width:390px;height:390px;position:absolute;transform:rotate(-23deg)}.orbit-a{background:radial-gradient(at 40% 40%,#eef1e1,#e2ebe2);border:0}.orbit-b{width:430px;height:240px;transform:rotate(55deg)}.note-card{background:#fffefb;border:1px solid #e3e0d6;position:absolute;box-shadow:0 20px 40px #34423912}.note-one{width:315px;padding:28px;top:62px;left:35px;transform:rotate(-7deg)}.note-kicker{letter-spacing:.1em;font-family:Noto Serif JP,serif;font-size:13px}.yearbook{gap:8px;margin:20px 0;display:flex}.portrait{background:#e0e9d8;flex:1;height:115px;position:relative;overflow:hidden}.portrait:before{content:"";background:#d1ad8b;border-top:10px solid #484d41;border-radius:48% 48% 45% 45%;width:37px;height:43px;display:block;position:absolute;top:23px;left:22px}.portrait:after{content:"";background:#526e65;border-radius:40% 40% 0 0;width:64px;height:80px;position:absolute;top:65px;left:9px}.p2{background:#ece5ce}.p2:before{background:#ba9377;border-top-color:#514335}.p2:after{background:#b2986a}.p3{background:#dae5e9}.p3:before{background:#e0b899;border-top-color:#61554a}.p3:after{background:#5c7688}.note-one strong{font-family:Noto Serif JP,serif;font-size:14px;font-weight:600}.handline{background:#c7c8b0;width:110px;height:1px;margin-top:18px;display:block}.note-two{align-items:center;gap:12px;padding:18px 20px;display:flex;bottom:45px;right:0;transform:rotate(4deg)}.note-two b{font-size:12px}.note-two small{color:var(--muted);font-size:10px;display:block}.small-circle{background:var(--soft);color:var(--green);border-radius:50%;padding:8px 14px}.art-label{letter-spacing:.21em;color:#899887;font-size:9px;position:absolute;bottom:0;left:40px}.intro-strip{border-top:1px solid var(--line);border-bottom:1px solid var(--line);align-items:center;gap:32px;padding:26px 32px;display:flex}.intro-strip b{white-space:nowrap;font-size:15px}.intro-strip p{color:var(--muted);margin:0;font-size:13px}.section{margin-top:64px}.section-heading{justify-content:space-between;align-items:center;gap:20px;margin-bottom:22px;display:flex}.section-heading h2,.section-heading h3{margin:0}.section-heading p{color:var(--muted);font-size:12px}.three-grid{grid-template-columns:repeat(3,1fr);gap:22px;display:grid}.two-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;display:grid}.feature{padding:26px 10px}.step-no{color:var(--gold);margin-bottom:24px;font:400 38px Noto Serif JP,serif;display:block}.feature p{color:var(--muted);font-size:13px}.privacy-band{text-align:center;background:var(--soft);border-radius:12px;margin-top:65px;padding:55px 24px}.privacy-band h2{font-family:Noto Serif JP,serif;line-height:1.9}.privacy-band p{color:var(--muted);font-size:13px}.privacy-band .eyebrow{letter-spacing:.08em}footer{border-top:1px solid var(--line);max-width:1224px;color:var(--muted);align-items:center;gap:30px;margin:auto;padding:30px 32px 45px;font-size:11px;display:flex}footer .brand{color:var(--ink);font-size:20px}.page-heading{padding:58px 0 32px}.page-heading .eyebrow{margin-bottom:12px}.page-heading p{color:var(--muted)}.card,.auth-card,.school-card,.group-card{border:1px solid var(--line);background:#fff;border-radius:10px;padding:28px}.card{margin-bottom:24px}.card.accent{background:var(--soft)}.auth-card{max-width:480px;margin:64px auto;padding:40px}.auth-card h1{font-size:26px}.auth-links{text-align:center;flex-direction:column;gap:12px;margin-top:25px;font-size:13px;display:flex}.line-login{background:#06a34f;border-color:#06a34f;width:100%;margin:10px 0 24px}label{margin-bottom:18px;font-size:13px;font-weight:500;display:block}input,select,textarea{width:100%;color:var(--ink);background:#fff;border:1px solid #ced8d0;border-radius:5px;min-width:0;margin-top:7px;padding:11px 13px;display:block}textarea{resize:vertical;min-height:100px}label small{color:var(--muted);margin-top:6px;font-weight:400;display:block}.check{align-items:flex-start;gap:12px;font-weight:400;display:flex}.check input{width:17px;height:17px;accent-color:var(--green);flex-shrink:0;margin-top:5px}.muted{color:var(--muted);font-size:13px}.notice,.errors{color:#225c42;background:#e7f1e9;border-radius:6px;margin-top:24px;padding:16px 20px;font-size:13px}.errors{color:#9c4728;background:#fff0e9}.errors p{margin-bottom:5px}.empty{text-align:center;color:var(--muted);border:1px dashed #c5d2c6;border-radius:10px;margin-bottom:24px;padding:45px 25px}.empty h3{color:var(--ink)}.empty p{font-size:13px}.empty.compact{padding:25px}.page-grid{grid-template-columns:minmax(0,1.8fr) minmax(0,1fr);gap:28px;display:grid}.group-card{margin-bottom:20px;transition:box-shadow .2s;display:block}.group-card:hover,.school-card:hover{box-shadow:0 8px 25px #273e3710}.group-card small{color:var(--muted);margin:12px 0 5px;display:block}.group-card span:last-child{color:var(--green);font-size:12px}.group-card p{color:var(--muted);font-size:13px}.tag{background:var(--soft);color:var(--green);border-radius:4px;padding:3px 10px;font-size:11px;display:inline-block}.search-bar{gap:12px;max-width:760px;margin:0 auto 40px;display:flex}.search-bar input{background:#fff;margin:0}.school-grid{grid-template-columns:1fr 1fr;gap:20px;display:grid}.school-card{align-items:center;gap:20px;display:flex}.school-card h3{margin:3px 0}.school-card p{color:var(--muted);margin:0;font-size:11px}.school-card small{color:var(--muted)}.school-icon{background:var(--soft);width:48px;height:48px;color:var(--green);border-radius:9px;flex-shrink:0;place-items:center;font-family:Noto Serif JP,serif;font-size:22px;display:grid}.school-card>span:last-child{margin-left:auto}.pagination{justify-content:center;padding:28px}.form-grid{margin-top:24px}.picker{border:1px solid var(--line);max-height:220px;margin-top:-10px;overflow:auto}.picker button{border:0;border-bottom:1px solid var(--line);background:var(--bg);text-align:left;width:100%;padding:12px;display:block}.selected-school{color:var(--green);font-size:12px;display:block}.history-row{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:15px;margin-bottom:12px;padding:15px 0;display:flex}.history-row p{margin:0;font-size:13px}.text-link{color:var(--green);margin:12px 0;font-size:13px;font-weight:600;display:inline-block}.manager-nav{background:var(--deep);color:#fff;border-radius:8px;flex-wrap:wrap;gap:26px;margin-bottom:30px;padding:18px 24px;font-size:13px;display:flex}.manager-nav span{opacity:.65}.member-row{align-items:center;gap:12px;font-size:13px;display:flex}.member-row small{color:var(--muted);margin-left:auto}.avatar{background:var(--soft);width:32px;height:32px;color:var(--green);border-radius:50%;place-items:center;font-size:12px;display:grid}.preline{white-space:pre-wrap;overflow-wrap:anywhere}.mt{margin-top:35px}.stats{border-top:1px solid var(--line);gap:48px;margin-top:35px;padding-top:25px;display:flex}.stats strong{font-size:30px;display:block}.stats span{color:var(--muted);font-size:12px}.stats-cards .card{padding:20px 25px}.stats-cards strong{font-size:34px;display:block}.stats-cards small{color:var(--muted)}.table-scroll{overflow:auto}table{border-collapse:collapse;text-align:left;width:100%;font-size:13px}th{background:var(--bg);color:var(--muted);white-space:nowrap;font-size:11px}td,th{border-bottom:1px solid var(--line);padding:13px}td select{min-width:120px;margin:0;padding:7px}.roster-preview{object-fit:contain;border:1px solid var(--line);width:100%;max-height:600px}.review-row{border-bottom:1px solid var(--line);margin-bottom:12px;padding:12px 0}.review-row input{margin-bottom:6px}.draft-output{background:var(--soft);border-radius:6px;margin-top:24px;padding:24px}.narrow{max-width:700px}.mobile-nav{display:none}.event-detail small{color:var(--muted)}@media (width<=1000px){.site-header{padding:0 28px}.brand-sub{display:none}.hero h1{font-size:43px}.memory-art{transform:scale(.85)}.hero{gap:0}.nav-profile{display:none}.hero .button{padding:12px 17px}.intro-strip{gap:20px;padding:22px 0}.section-heading p{display:none}}@media (width<=700px){body{font-size:14px}.site-header{height:76px;padding:0 20px}.brand{gap:9px;font-size:22px}.brand-mark{width:34px;height:34px;font-size:19px}nav{gap:15px;font-size:11px}.site-header nav>a[href=\/dashboard],.site-header .text-button{display:none}.site-header .button{padding:7px 12px}main{padding:0 20px 60px}.hero{flex-direction:column;align-items:stretch;gap:0;min-height:auto;padding-top:43px;display:flex}.hero h1{font-size:36px;line-height:1.7}.hero .eyebrow{font-size:10px}.hero p{font-size:13px}.hero .actions{gap:9px}.hero .button{gap:12px;padding:13px 16px;font-size:12px}.hero-note{font-size:10px}.memory-art{align-self:center;width:330px;height:350px;margin-top:-8px;transform:scale(.85)}.note-one{top:10px;left:0}.note-two{bottom:15px;right:-25px}.orbit{width:320px;height:320px}.orbit-b{width:350px;height:200px}.art-label{bottom:-20px;left:0}.intro-strip{display:block}.intro-strip b{margin-bottom:8px;display:block}.intro-strip p{font-size:12px}.section{margin-top:40px}.section-heading{flex-wrap:wrap;align-items:flex-start}.section-heading h2{font-size:21px}.three-grid,.two-grid,.page-grid,.school-grid{grid-template-columns:1fr}.feature{padding:14px 0}.step-no{margin-bottom:12px;font-size:30px}.feature h3{margin-bottom:9px}.feature p{margin-bottom:0}.privacy-band{margin-top:40px;padding:32px 20px}.privacy-band h2{font-size:20px}.privacy-band br{display:none}.page-heading{padding:36px 0 22px}.page-heading h1{font-size:26px}.page-heading p{font-size:13px}h2{font-size:21px}.card,.school-card,.group-card{padding:22px}.auth-card{margin:35px auto;padding:26px}.auth-card h1{font-size:24px}.search-bar{gap:8px}.search-bar .button{white-space:nowrap;padding:10px 16px}.manager-nav{gap:14px;padding:15px}.stats-cards{grid-template-columns:repeat(3,1fr);gap:8px}.stats-cards .card{padding:13px 10px}.stats-cards strong{font-size:26px}.stats-cards small{font-size:10px}.history-row{flex-wrap:wrap}.mobile-nav{z-index:10;border-top:1px solid var(--line);padding:14px 8px max(14px,env(safe-area-inset-bottom));color:var(--green);background:#ffffffed;justify-content:space-around;font-size:11px;display:flex;position:fixed;bottom:0;left:0;right:0}footer{flex-wrap:wrap;gap:14px;padding:26px 20px 95px}footer span{font-size:10px}.button.full{font-size:13px}.school-card{gap:14px}.school-card h3{font-size:16px}}td{white-space:nowrap}
