@import "https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;600;700&family=Shippori+Mincho+B1:wght@700;800&display=swap";
:root{--bg:#f1ede2;--bg-warm:#f6f2e8;--paper:#fffdf7;--soft:#eae4d6;--softer:#f3eee2;--hover:#efe9db;--ink:#1f1d16;--ink-2:#454134;--ink-3:#726c5b;--ink-4:#a39c89;--line:#1f1d1624;--line-2:#1f1d1633;--line-3:#1f1d1614;--teal:#1f6b4f;--teal-600:#1a5e45;--teal-700:#15503a;--teal-800:#0f3e2c;--teal-soft:#e1ebe2;--teal-softer:#ecf2ec;--teal-line:#1f6b4f66;--c-confirm:#2b5b9e;--c-confirm-bg:#e6ecf3;--c-announce:#1f6b4f;--c-announce-bg:#e3ece4;--c-warn:#9a6512;--c-warn-bg:#f1e9d6;--c-discuss:#5a4ba0;--c-discuss-bg:#e9e6f1;--c-qa:#157066;--c-qa-bg:#e1eeeb;--gold:#a98521;--silver:#7d8488;--bronze:#9c5e30;--r-sm:3px;--r-md:4px;--r-lg:6px;--r-xl:8px;--r-pill:2px;--sh-1:0 1px 0 #1f1d160a;--sh-2:0 1px 2px #1f1d160d, 0 12px 28px -18px #1f1d164d;--sh-3:0 2px 6px #1f1d1614, 0 30px 70px -30px #1f1d166b;--sh-teal:0 8px 22px -12px #0f3e2c80;--maxw:1120px;--maxw-wide:1280px;--pad:clamp(20px, 5vw, 64px);--header-h:70px;--gap-section:clamp(120px, 16vw, 220px);--ease:cubic-bezier(.22,.61,.36,1);--serif:"Shippori Mincho B1", "Hiragino Mincho ProN", "Yu Mincho", serif;--font:"Noto Sans JP", -apple-system, BlinkMacSystemFont, "Helvetica Neue", sans-serif}.auth-body{font-family:var(--font);color:var(--ink);letter-spacing:.015em;-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;font-feature-settings:"palt" 1;box-sizing:border-box;line-height:1.75}.auth-body *,.auth-body :before,.auth-body :after{box-sizing:border-box}::selection{background:var(--teal-soft);color:var(--teal-800)}.auth-body a{color:inherit;text-decoration:none}.auth-body button{cursor:pointer;color:inherit;background:0 0;border:none;font-family:inherit}.auth-body input,.auth-body textarea{font-family:inherit}::-webkit-scrollbar{width:11px;height:11px}::-webkit-scrollbar-thumb{background:#1f1d162e padding-box content-box;border:3px solid #0000;border-radius:0}::-webkit-scrollbar-thumb:hover{background:#1f1d164d padding-box content-box}.wrap{max-width:var(--maxw);padding-left:var(--pad);padding-right:var(--pad);margin:0 auto}.wrap-wide{max-width:var(--maxw-wide);padding-left:var(--pad);padding-right:var(--pad);margin:0 auto}.section{scroll-margin-top:92px}.section+.section{margin-top:var(--gap-section)}.intro{text-align:center;max-width:760px;margin:0 auto clamp(40px,6vw,72px)}.eyebrow{letter-spacing:.26em;text-transform:uppercase;color:var(--teal-700);margin-bottom:20px;padding-bottom:16px;font-size:12px;font-weight:600;display:inline-block;position:relative}.eyebrow:after{content:"";background:var(--teal);width:34px;height:2px;position:absolute;bottom:0;left:50%;transform:translate(-50%)}.intro h2{font-family:var(--serif);letter-spacing:.01em;color:var(--ink);font-size:clamp(30px,4.6vw,50px);font-weight:700;line-height:1.24}.intro p{color:var(--ink-3);margin-top:20px;font-size:clamp(15px,1.6vw,18px);line-height:1.85}.header{z-index:40;height:var(--header-h);transition:background .3s var(--ease), border-color .3s var(--ease);border-bottom:1px solid #0000;align-items:center;display:flex;position:fixed;top:0;left:0;right:0}.header.scrolled{-webkit-backdrop-filter:saturate(1.4)blur(14px);border-bottom-color:var(--line);background:#f6f2e8db}.header .wrap-wide{justify-content:space-between;align-items:center;width:100%;display:flex}.logo{font-family:var(--serif);letter-spacing:.04em;color:var(--ink);align-items:center;gap:12px;font-size:19px;font-weight:700;display:flex}.logo .mark{border:1.5px solid var(--teal-700);background:var(--paper);border-radius:0;flex:none;place-items:center;width:32px;height:32px;display:grid}.logo .mark svg{width:16px;height:16px}.logo .logo-text{position:relative;top:-1px}.logo .mark svg path{fill:var(--teal-700)!important}.nav{align-items:center;gap:2px;display:flex}.nav-link{color:var(--ink-3);white-space:nowrap;transition:color .16s var(--ease);border-radius:0;padding:8px 14px;font-size:13.5px;font-weight:500;position:relative}.nav-link:after{content:"";background:var(--teal);transform-origin:0;height:1.5px;transition:transform .2s var(--ease);position:absolute;bottom:4px;left:14px;right:14px;transform:scaleX(0)}.nav-link:hover{color:var(--ink)}.nav-link:hover:after,.nav-link.active:after{transform:scaleX(1)}.nav-link.active{color:var(--teal-700)}@media (max-width:900px){.nav{display:none}}.usermenu-trigger{transition:border-color .16s var(--ease);border:1px solid #0000;border-radius:0;align-items:center;gap:10px;padding:5px 12px 5px 5px;display:flex}.usermenu-trigger:hover{border-color:var(--line-2)}.avatar{width:34px;height:34px;font-family:var(--serif);background:var(--teal-700);color:#fff;border-radius:0;flex:none;place-items:center;font-size:14px;font-weight:700;display:grid}.avatar.sm{width:28px;height:28px;font-size:12px}.avatar.sq{background:var(--soft);color:var(--teal-800)}.usermenu-trigger .name{color:var(--ink-2);font-size:14px;font-weight:500}.usermenu-trigger .role-badge{letter-spacing:.06em;color:var(--teal-800);background:var(--teal-soft);border:1px solid var(--teal-line);border-radius:var(--r-pill);padding:2px 8px;font-size:10.5px;font-weight:700}@media (max-width:560px){.usermenu-trigger .role-badge{display:none}}.usermenu-trigger .chev{color:var(--ink-4);font-size:10px}.usermenu-pop{top:62px;right:var(--pad);z-index:60;-webkit-backdrop-filter:saturate(1.4)blur(14px);border:1px solid var(--line-2);border-radius:var(--r-lg);width:272px;box-shadow:var(--sh-3);opacity:0;pointer-events:none;transition:opacity .18s var(--ease), transform .18s var(--ease);background:#fffdf7eb;padding-bottom:8px;position:fixed;overflow:hidden;transform:translateY(-8px)}.usermenu-pop.open{opacity:1;pointer-events:auto;transform:none}.usermenu-pop .head{flex-direction:column;gap:2px;padding:16px 18px 13px;display:flex}.usermenu-pop .head .um-name{font-family:var(--serif);color:var(--ink);align-items:center;gap:8px;font-size:16px;font-weight:700;display:flex}.usermenu-pop .head .um-rolepill{font-family:var(--font);letter-spacing:.05em;color:var(--teal-800);background:var(--teal-soft);border:1px solid var(--teal-line);border-radius:var(--r-pill);padding:2px 7px;font-size:10px;font-weight:700}.usermenu-pop .head .um-email{color:var(--ink-4);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.usermenu-pop .group-label{letter-spacing:.14em;color:var(--ink-4);text-transform:uppercase;padding:8px 18px 4px;font-size:11px}.usermenu-pop .group-label.admin{color:var(--teal-700);align-items:center;gap:6px;font-weight:700;display:flex}.usermenu-pop .group-label.admin svg{width:13px;height:13px}.usermenu-pop .divider{background:var(--line);height:1px;margin:6px 0}.um-item{width:100%;color:var(--ink-2);text-align:left;transition:background .14s var(--ease);align-items:center;gap:11px;padding:9px 18px;font-size:14px;display:flex}.um-item:hover{background:var(--hover)}.um-item .um-ic{width:17px;height:17px;color:var(--ink-4);flex:none;place-items:center;display:grid}.um-item .um-ic svg{width:16px;height:16px}.um-item:hover .um-ic{color:var(--ink-2)}.um-item.admin{color:var(--ink)}.um-item.admin .um-ic{color:var(--teal-700)}.um-item.admin:hover{background:var(--teal-softer)}.um-item .check{color:var(--teal);width:16px;font-weight:700}.um-item.danger{color:#b0432f}.um-item.danger:hover{background:#f3e4df}.badge{border-radius:var(--r-pill);white-space:nowrap;letter-spacing:.03em;border:1px solid #0000;align-items:center;gap:5px;padding:5px 10px;font-size:11.5px;font-weight:600;line-height:1;display:inline-flex}.badge.confirm{color:var(--c-confirm);background:var(--c-confirm-bg);border-color:color-mix(in oklab, var(--c-confirm) 22%, transparent)}.badge.announce{color:var(--c-announce);background:var(--c-announce-bg);border-color:color-mix(in oklab, var(--c-announce) 22%, transparent)}.badge.warn{color:var(--c-warn);background:var(--c-warn-bg);border-color:color-mix(in oklab, var(--c-warn) 22%, transparent)}.badge.discuss{color:var(--c-discuss);background:var(--c-discuss-bg);border-color:color-mix(in oklab, var(--c-discuss) 22%, transparent)}.badge.qa{color:var(--c-qa);background:var(--c-qa-bg);border-color:color-mix(in oklab, var(--c-qa) 22%, transparent)}.tag{border-radius:var(--r-pill);color:var(--ink-3);border:1px solid var(--line-2);background:0 0;align-items:center;padding:4px 10px;font-size:12px;font-weight:500;display:inline-flex}.wiki-badge{letter-spacing:.12em;border-radius:var(--r-pill);color:var(--teal-700);border:1px solid var(--teal-line);background:0 0;align-items:center;gap:6px;padding:4px 9px;font-size:10.5px;font-weight:700;display:inline-flex}.cite-chip{border-radius:var(--r-pill);color:var(--ink-2);background:var(--paper);border:1px solid var(--line-2);transition:border-color .15s var(--ease), background .15s var(--ease);align-items:center;gap:7px;padding:8px 13px;font-size:12.5px;font-weight:500;display:inline-flex}.cite-chip:hover{border-color:var(--teal);color:var(--teal-700)}.footer{margin-top:var(--gap-section);border-top:2px solid var(--ink);padding:64px 0 40px}.footer .wrap{text-align:left;display:block}.footer-top{grid-template-columns:1.3fr 2fr;gap:48px;padding-bottom:44px;display:grid}@media (max-width:760px){.footer-top{grid-template-columns:1fr;gap:36px}}.footer .f-logo{font-family:var(--serif);letter-spacing:.04em;color:var(--ink);align-items:center;gap:10px;margin-bottom:14px;font-size:18px;font-weight:700;display:flex}.f-tagline{color:var(--ink-3);max-width:28ch;font-size:13px;line-height:1.7}.footer-cols{grid-template-columns:repeat(3,1fr);gap:32px;display:grid}@media (max-width:520px){.footer-cols{grid-template-columns:repeat(2,1fr);gap:28px}}.f-col h4{letter-spacing:.14em;text-transform:uppercase;color:var(--ink-4);margin-bottom:14px;font-size:11px;font-weight:700}.f-col a{color:var(--ink-2);transition:color .14s var(--ease);padding:5px 0;font-size:13.5px;display:block}.f-col a:hover{color:var(--teal-700)}.footer-bottom{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding-top:26px;display:flex}.footer-bottom p{color:var(--ink-4);letter-spacing:.04em;font-size:12px}.f-bottom-links{gap:22px;display:flex}.f-bottom-links a{color:var(--ink-4);transition:color .14s var(--ease);font-size:12px}.f-bottom-links a:hover{color:var(--ink-2)}.auth-body{grid-template-columns:1.05fr 1fr;min-height:100vh;display:grid}@media (max-width:900px){.auth-body{grid-template-columns:1fr}}.auth-aside{color:var(--paper);background:radial-gradient(900px 520px at 24% 12%, #3fc99633, transparent 60%), radial-gradient(760px 600px at 90% 92%, #12b3a329, transparent 62%), linear-gradient(160deg, var(--teal-700) 0%, var(--teal-800) 64%, #0a2c20 100%);flex-direction:column;justify-content:space-between;padding:clamp(36px,5vw,64px);display:flex;position:relative;overflow:hidden}@media (max-width:900px){.auth-aside{display:none}}.auth-aside:after{content:"";pointer-events:none;opacity:.5;background-image:linear-gradient(90deg,#ffffff0d 1px,#0000 1px),linear-gradient(#ffffff0d 1px,#0000 1px);background-size:64px 64px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(80% 80% at 40% 40%,#000 20%,#0000 78%);mask-image:radial-gradient(80% 80% at 40% 40%,#000 20%,#0000 78%)}.auth-brand{z-index:2;font-family:var(--serif);letter-spacing:.05em;align-items:center;gap:2px;font-size:20px;font-weight:700;display:flex;position:relative}.auth-brand .mark{border:1.5px solid #fff9;flex:none;place-items:center;width:34px;height:34px;display:grid}.auth-brand .mark svg{width:17px;height:17px}.auth-brand .mark{border:none}.auth-brand .mark img{object-fit:contain;width:100%;height:100%;display:block}.auth-aside-mid{z-index:2;position:relative}.auth-aside-eyebrow{letter-spacing:.24em;text-transform:uppercase;color:#ffffff9e;align-items:center;gap:10px;margin-bottom:24px;font-size:12px;font-weight:600;display:inline-flex}.auth-aside-eyebrow:before{content:"";background:#ffffff80;width:26px;height:1.5px}.auth-aside h2{font-family:var(--serif);letter-spacing:.02em;font-size:clamp(28px,3.4vw,42px);font-weight:800;line-height:1.42}.auth-aside h2 .em{color:#b9efd9}.auth-aside p{color:#ffffffbd;max-width:38ch;margin-top:22px;font-size:14.5px;line-height:1.95}.auth-points{z-index:2;flex-direction:column;gap:16px;margin-top:34px;display:flex;position:relative}.auth-point{color:#ffffffdb;align-items:flex-start;gap:13px;font-size:13.5px;line-height:1.6;display:flex}.auth-point .pic{border:1px solid #ffffff57;flex:none;place-items:center;width:26px;height:26px;margin-top:1px;display:grid}.auth-point .pic svg{width:14px;height:14px}.auth-aside-foot{z-index:2;color:#ffffff80;letter-spacing:.04em;font-size:12px;position:relative}.auth-main{background:var(--bg);flex-direction:column;justify-content:center;align-items:center;padding:clamp(40px,6vw,72px) clamp(24px,5vw,56px);display:flex}.auth-card{width:100%;max-width:416px}.auth-mobile-brand{font-family:var(--serif);letter-spacing:.04em;color:var(--ink);align-items:center;gap:2px;margin-bottom:36px;font-size:18px;font-weight:700;display:none}.auth-mobile-brand .mark{border:1.5px solid var(--teal-700);flex:none;place-items:center;width:30px;height:30px;display:grid}.auth-mobile-brand .mark svg{width:15px;height:15px}.auth-mobile-brand .mark svg path{fill:var(--teal-700)}.auth-mobile-brand .mark{border:none}.auth-mobile-brand .mark img{object-fit:contain;width:100%;height:100%;display:block}@media (max-width:900px){.auth-mobile-brand{display:flex}}.auth-head{margin-bottom:32px}.auth-step{letter-spacing:.2em;text-transform:uppercase;color:var(--teal-700);white-space:nowrap;margin-bottom:16px;padding-bottom:12px;font-size:12px;font-weight:600;display:inline-block;position:relative}.auth-step:after{content:"";background:var(--teal);width:30px;height:2px;position:absolute;bottom:0;left:0}.auth-head h1{font-family:var(--serif);letter-spacing:.02em;color:var(--ink);font-size:clamp(27px,3.6vw,34px);font-weight:800;line-height:1.3}.auth-head p{color:var(--ink-3);margin-top:12px;font-size:14px;line-height:1.8}.auth-form{flex-direction:column;gap:18px;display:flex}.field{flex-direction:column;gap:7px;display:flex}.field>label{color:var(--ink-2);letter-spacing:.02em;justify-content:space-between;align-items:center;font-size:12.5px;font-weight:600;display:flex}.field .opt{color:var(--ink-4);font-size:11px;font-weight:500}.input{align-items:center;display:flex;position:relative}.input .ic{color:var(--ink-4);pointer-events:none;place-items:center;display:grid;position:absolute;left:13px}.input .ic svg{width:17px;height:17px}.input input{width:100%;height:48px;color:var(--ink);background:var(--paper);border:1.5px solid var(--line-2);border-radius:var(--r-md);transition:border-color .16s var(--ease), box-shadow .16s var(--ease);outline:none;padding:0 14px 0 40px;font-size:15px}.input input::placeholder{color:var(--ink-4)}.input input:focus{border-color:var(--teal-700);box-shadow:0 0 0 3px var(--teal-softer)}.input .toggle-pw{border-radius:var(--r-sm);width:34px;height:34px;color:var(--ink-4);pointer-events:auto;place-items:center;display:grid;position:absolute;right:8px}.input .toggle-pw:hover{color:var(--ink-2);background:var(--hover)}.input .toggle-pw svg{width:17px;height:17px}.input.has-toggle input{padding-right:46px}.field-hint{color:var(--ink-4);font-size:11.5px;line-height:1.5}.field-hint.err{color:#b0432f}.pw-meter{gap:5px;margin-top:3px;display:flex}.pw-meter span{background:var(--line-2);height:3px;transition:background .2s var(--ease);border-radius:99px;flex:1}.pw-meter.s1 span:first-child{background:#c0603f}.pw-meter.s2 span:nth-child(-n+2){background:var(--c-warn)}.pw-meter.s3 span:nth-child(-n+3){background:#5a9a4f}.pw-meter.s4 span{background:var(--c-announce)}.row-between{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.check-line{color:var(--ink-2);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:10px;font-size:13px;display:flex}.check-line .cb{border:1.5px solid var(--line-2);width:18px;height:18px;transition:all .14s var(--ease);flex:none;place-items:center;display:grid}.check-line.on .cb{background:var(--teal-700);border-color:var(--teal-700)}.check-line.on .cb:after{content:"✓";color:#fff;font-size:12px;font-weight:700;position:relative;top:-1px}.check-line a{color:var(--teal-700);text-underline-offset:2px;text-decoration:underline}.link{color:var(--teal-700);font-size:13px;font-weight:600}.link:hover{color:var(--teal-800)}.auth-body .btn-auth{letter-spacing:.03em;color:#fff;background:var(--teal-700);border-radius:var(--r-md);height:50px;transition:background .15s var(--ease);justify-content:center;align-items:center;gap:9px;margin-top:4px;font-size:15px;font-weight:700;display:inline-flex}.btn-auth:hover{background:var(--teal-800)}.btn-auth svg{width:17px;height:17px}.auth-divider{color:var(--ink-4);align-items:center;gap:14px;margin:26px 0;font-size:12px;display:flex}.auth-divider:before,.auth-divider:after{content:"";background:var(--line);flex:1;height:1px}.btn-oauth{width:100%;height:48px;color:var(--ink-2);background:var(--paper);border:1.5px solid var(--line-2);border-radius:var(--r-md);transition:border-color .15s var(--ease), background .15s var(--ease);justify-content:center;align-items:center;gap:11px;font-size:14px;font-weight:600;display:inline-flex}.btn-oauth:hover{border-color:var(--ink-4);background:var(--hover)}.btn-oauth img,.btn-oauth svg{width:18px;height:18px}.auth-alt{text-align:center;color:var(--ink-3);margin-top:28px;font-size:13.5px}.auth-alt a{color:var(--teal-700);font-weight:700}.auth-alt a:hover{color:var(--teal-800)}.auth-foot-legal{text-align:center;color:var(--ink-4);margin-top:36px;font-size:11.5px;line-height:1.7}.auth-foot-legal a{color:var(--ink-3);text-underline-offset:2px;text-decoration:underline}.back-link{color:var(--ink-3);transition:color .14s var(--ease);align-items:center;gap:7px;margin-bottom:26px;font-size:13px;font-weight:600;display:inline-flex}.back-link:hover{color:var(--teal-700)}.back-link svg{width:15px;height:15px}.auth-sent{text-align:center;flex-direction:column;align-items:center;display:flex}.auth-sent .seal{border:1.5px solid var(--teal-line);width:64px;height:64px;color:var(--teal-700);background:var(--teal-softer);border-radius:50%;place-items:center;margin-bottom:24px;display:grid}.auth-sent .seal svg{width:30px;height:30px}.auth-sent h1{font-family:var(--serif);color:var(--ink);letter-spacing:.02em;font-size:26px;font-weight:800}.auth-sent p{color:var(--ink-3);margin-top:14px;font-size:14px;line-height:1.85}.auth-sent .mailto{color:var(--ink);font-weight:700}.auth-sent .resend{color:var(--ink-4);margin-top:26px;font-size:13px}.auth-sent .resend button{color:var(--teal-700);font-weight:700}
