:root{--bank-green:#315c4b;--bank-green-dark:#234538;--bank-green-pale:#e8f0ec;--bank-cream:#faf8f2;--bank-gold:#b89a62;--bank-text:#26312c;--bank-muted:#68736d}*{box-sizing:border-box}body{background:radial-gradient(circle at 10% 10%, #b89a6224, transparent 28rem), radial-gradient(circle at 90% 90%, #315c4b1f, transparent 30rem), var(--bank-cream);color:var(--bank-text);min-height:100vh;font-family:-apple-system,BlinkMacSystemFont,Helvetica Neue,Yu Gothic,YuGothic,Hiragino Kaku Gothic ProN,Noto Sans JP,sans-serif}.auth-shell{grid-template-columns:minmax(310px,.9fr) minmax(420px,1.1fr);align-items:stretch;max-width:1040px;min-height:100vh;margin:0 auto;padding:3rem 1.5rem;display:grid}.auth-brand{background:linear-gradient(145deg, var(--bank-green-dark), var(--bank-green));color:#fff;border-radius:1.25rem 0 0 1.25rem;flex-direction:column;justify-content:space-between;padding:3rem;display:flex;position:relative;overflow:hidden}.auth-brand:before{content:"";border:1px solid #ffffff26;border-radius:50%;width:340px;height:340px;position:absolute;top:-90px;right:-170px}.brand-link{color:#fff;letter-spacing:.08em;z-index:1;align-items:center;gap:.75rem;font-size:1.25rem;font-weight:700;text-decoration:none;display:inline-flex;position:relative}.brand-mark{border:1px solid #ffffffd9;border-radius:50%;width:2.5rem;height:2.5rem;display:inline-block;position:relative}.brand-mark:before,.brand-mark:after{content:"";background:#ffffffe6;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.brand-mark:before{width:1px;height:1.5rem}.brand-mark:after{width:1.5rem;height:1px}.brand-copy{z-index:1;position:relative}.brand-copy h2{letter-spacing:.06em;margin-bottom:1rem;font-family:Yu Mincho,Hiragino Mincho ProN,serif;font-size:clamp(1.75rem,3vw,2.5rem);font-weight:500;line-height:1.55}.brand-copy p{color:#ffffffb8;margin:0;line-height:1.9}.family-motif{width:min(100%,270px);height:224px;margin:2rem auto;position:relative}.family-motif .line{background:#ffffff73;position:absolute}.family-motif .line.vertical{width:1px;height:66px;top:23px;left:50%}.family-motif .line.horizontal{width:20px;height:1px;top:23px;left:calc(50% - 10px)}.family-motif .line.parents{width:32%;height:1px;top:112px;left:18%}.family-motif .line.child{width:1px;height:66px;top:112px;left:34%}.family-motif .person{color:var(--bank-green);z-index:1;background:#f5f1e8;border:3px solid #ffffff2e;border-radius:50%;justify-content:center;align-items:center;width:46px;height:46px;font-family:Yu Mincho,serif;font-size:.75rem;display:flex;position:absolute}.family-motif .person.one{top:0;left:calc(50% - 56px)}.family-motif .person.two{top:0;left:calc(50% + 10px)}.family-motif .person.three{top:89px;left:calc(18% - 23px)}.family-motif .person.four{top:89px;left:calc(50% - 23px)}.family-motif .person.five{bottom:0;left:calc(34% - 23px)}.brand-note{color:#ffffff94;z-index:1;font-size:.78rem;position:relative}.auth-main{background:#fffffff5;border:1px solid #315c4b1a;border-left:0;border-radius:0 1.25rem 1.25rem 0;align-items:center;padding:clamp(2rem,5vw,4rem);display:flex;box-shadow:0 1.5rem 4rem #22352d1f}.auth-content{width:100%;max-width:440px;margin:0 auto}.auth-eyebrow{color:var(--bank-green);letter-spacing:.16em;margin-bottom:.65rem;font-size:.75rem;font-weight:700}.auth-title{letter-spacing:.04em;margin-bottom:.5rem;font-family:Yu Mincho,Hiragino Mincho ProN,serif;font-size:2rem;font-weight:600}.auth-lead{color:var(--bank-muted);margin-bottom:2rem;font-size:.9rem;line-height:1.8}.form-label{color:#35423c;font-size:.9rem;font-weight:600}.form-control{border-color:#d9dfdc;border-radius:.55rem;min-height:48px;padding:.65rem .85rem}.form-control:focus{border-color:var(--bank-green);box-shadow:0 0 0 .2rem #315c4b21}.form-check-input:checked{background-color:var(--bank-green);border-color:var(--bank-green)}.auth-submit{background:var(--bank-green);border:1px solid var(--bank-green);color:#fff;border-radius:.55rem;min-height:50px;font-weight:700;transition:all .2s}.auth-submit:hover,.auth-submit:focus{background:var(--bank-green-dark);border-color:var(--bank-green-dark);color:#fff}.auth-switch{color:var(--bank-muted);text-align:center;border-top:1px solid #e7ebe8;margin-top:1.75rem;padding-top:1.25rem;font-size:.875rem}.auth-switch a{color:var(--bank-green);font-weight:700}.mobile-brand{display:none}@media (width<=767.98px){.auth-shell{padding:0;display:block}.auth-brand{display:none}.auth-main{box-shadow:none;border:0;border-radius:0;min-height:100vh;padding:1.5rem}.mobile-brand{justify-content:center;margin-bottom:2.25rem;display:flex}.mobile-brand .brand-link{color:var(--bank-green-dark)}.mobile-brand .brand-mark{border-color:var(--bank-green)}.mobile-brand .brand-mark:before,.mobile-brand .brand-mark:after{background:var(--bank-green)}}.auth-email{overflow-wrap:anywhere}.auth-submit{padding:12px 16px}.auth-content :is(a,button,input):focus-visible{outline-offset:3px;outline:3px solid #96763c}@media (width>=768px) and (width<=991px){.auth-shell{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)}.auth-brand{padding:24px}.auth-main{padding:28px}}
