/* Shared, route-scoped visual system for account, legal and agreement pages. */
.brand-flow{--background:200 20% 97%;--foreground:205 61% 16%;--primary:205 61% 16%;--primary-foreground:0 0% 100%;--secondary:200 25% 93%;--secondary-foreground:205 61% 16%;--muted:200 25% 94%;--muted-foreground:203 19% 40%;--border:202 20% 85%;--input:202 20% 82%;--accent:193 76% 37%;--accent-foreground:0 0% 100%;--ring:193 76% 37%;--card:0 0% 100%;--card-foreground:205 61% 16%;--brand-ink:#102c42;--brand-blue:#0b3d91;--brand-teal:#168aa7;--brand-paper:#f5f7f8;--brand-line:#d8e0e5;--brand-muted:#526a79;--brand-header-height:89px;color:var(--brand-ink);background:var(--brand-paper);font-family:'Noto Sans JP','Hiragino Kaku Gothic ProN',Meiryo,sans-serif;font-size:16px;line-height:1.9}
.brand-flow *{box-sizing:border-box}.brand-flow .app-shell{grid-template-columns:minmax(0,1fr)}.brand-flow .footer-copy{white-space:normal}.brand-flow .app-shell,.brand-flow .app-main{background:var(--brand-paper)}.brand-flow .bg-gradient-to-br,.brand-flow .bg-gradient-to-b{background:var(--brand-paper)}.brand-flow h1,.brand-flow h2{font-family:'Yu Mincho','Hiragino Mincho ProN','Noto Serif JP',serif;letter-spacing:.035em;font-weight:500;line-height:1.7;color:var(--brand-ink)}.brand-flow h1{font-size:clamp(27px,3.2vw,38px)}.brand-flow h2{font-size:23px}.brand-flow h3{color:var(--brand-ink)}.brand-flow .text-sm{font-size:16px;line-height:1.9}.brand-flow .text-xs{font-size:14px;line-height:1.8}.brand-flow .text-muted-foreground{color:var(--brand-muted)}.brand-flow .rounded-2xl,.brand-flow .rounded-xl{border-radius:7px}.brand-flow .shadow-xl,.brand-flow .shadow-lg,.brand-flow .shadow-md{box-shadow:none}.brand-flow button{font-size:15px;border-radius:4px}.brand-flow label{font-size:15px}.brand-flow input:not([type=checkbox]):not([type=radio]),.brand-flow textarea,.brand-flow select,.brand-flow [role=combobox]{font-size:16px;border-radius:4px;border-color:#bdccd5;background:#fff;min-height:46px}.brand-flow input[type=checkbox]{accent-color:var(--brand-ink)}.brand-flow a:focus-visible,.brand-flow button:focus-visible{outline:3px solid var(--brand-teal);outline-offset:4px}.brand-flow .text-primary{color:var(--brand-blue)}.brand-flow .bg-primary{background:var(--brand-ink)}.brand-flow .border-primary{border-color:var(--brand-blue)}.brand-flow .bg-primary\/10{background:#e9f1f5}.brand-flow .prose{max-width:none}.brand-flow main{overflow-wrap:anywhere}.brand-flow main>h1{padding-bottom:15px;border-bottom:1px solid var(--brand-line)}
.brand-header{position:sticky;top:0;z-index:50;background:#fff;border-bottom:1px solid var(--brand-line)}.brand-header-inner{max-width:1280px;margin:auto;min-height:88px;padding:16px 40px;display:flex;justify-content:space-between;align-items:center;gap:24px}.brand-header .kp-brand{display:flex;align-items:center;gap:12px;color:var(--brand-ink);text-decoration:none;line-height:1.3;flex-shrink:0}.brand-header .kp-brand-symbol{display:grid;place-items:center;width:37px;height:37px;border:1px solid var(--brand-ink);font:20px Georgia,serif;position:relative}.brand-header .kp-brand-symbol::after{content:'';position:absolute;right:-1px;top:-1px;width:11px;height:11px;background:var(--brand-teal)}.brand-header .kp-brand strong{display:block;font-size:19px;letter-spacing:.1em}.brand-header .kp-brand small{display:block;font-size:12px;letter-spacing:.21em;margin-top:4px}.brand-header-nav{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.brand-header-nav a{text-decoration:none}.brand-home{font-size:14px;color:var(--brand-muted);margin-right:14px}.brand-action{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:10px 21px;font-size:15px;font-weight:600;color:#fff;background:var(--brand-ink);border:1px solid var(--brand-ink)}.brand-header .brand-action{color:#fff}.brand-header .brand-action-outline{color:var(--brand-ink)}.brand-action:hover{background:var(--brand-blue)}.brand-action-outline{background:white;color:var(--brand-ink)}.brand-action-outline:hover{background:#eaf2f5}.brand-auth-content{flex:1;display:flex;align-items:center;justify-content:center;padding:52px 20px 60px}.brand-flow .app-footer{background:#fff;border-top:1px solid var(--brand-line);color:var(--brand-muted)}.brand-flow .footer-copy,.brand-flow .footer-link{font-size:13px;color:var(--brand-muted)}
/* Canonical agreement text is unchanged; the existing document HTML uses light presentation styles. */
.brand-flow .dcwrap{overflow-x:clip!important;background:var(--brand-paper)!important;color:var(--brand-ink)!important}.brand-flow .dcwrap>main{padding-top:0!important}.brand-flow .business-document-content{color:var(--brand-ink)}.brand-flow .business-document-content section{scroll-margin-top:calc(var(--brand-header-height) + 100px)}.brand-flow .business-document-content h1,.brand-flow .business-document-content h2{font-family:'Yu Mincho','Hiragino Mincho ProN',serif!important;font-weight:500!important}.brand-flow .document-contents-nav{position:relative;top:auto;z-index:20;padding:16px 24px;max-width:none;background:#fff;color:var(--brand-ink);border-bottom:1px solid var(--brand-line)}.brand-flow .document-contents-nav details{max-width:1088px;margin:auto}.brand-flow .document-contents-nav summary{font-size:15px}.brand-flow .document-contents-nav a{font-size:14px}.brand-flow #agreement{scroll-margin-top:calc(var(--brand-header-height) + 90px)!important}.brand-flow .business-document-content table{font-size:15px}.brand-flow .dcwrap .bg-white{color:var(--brand-ink)}
/* Standalone .html policies use the same shared stylesheet and retain their original body text. */
.brand-flow .wrap{overflow-wrap:anywhere;max-width:960px;margin:42px auto 70px;padding:38px 42px 48px;background:#fff;border:1px solid var(--brand-line)}.brand-flow .wrap h1{font-size:clamp(26px,3vw,36px);margin:0 0 16px;padding-bottom:17px;border-bottom:1px solid var(--brand-line)}.brand-flow .wrap h2{font-size:23px;margin:36px 0 15px;padding-bottom:10px;border-bottom:1px solid var(--brand-line)}.brand-flow .wrap p,.brand-flow .wrap li{font-size:16px;line-height:2}.brand-flow .wrap .updated{font-size:14px;color:var(--brand-muted)}.brand-flow .wrap a{color:var(--brand-blue);text-underline-offset:4px}.brand-flow .wrap .nav{display:flex;gap:15px 24px;flex-wrap:wrap;border-top:1px solid var(--brand-line);padding-top:24px;margin-top:40px;font-size:14px}.brand-flow .wrap .nav a{margin:0}
@media(max-width:640px){.brand-flow{--brand-header-height:132px}.brand-header-inner{padding:15px 20px;flex-direction:column;align-items:flex-start;gap:15px}.brand-header .kp-brand-symbol{width:32px;height:32px;font-size:17px}.brand-header .kp-brand strong{font-size:16px}.brand-header .kp-brand small{font-size:11px}.brand-header-nav{width:100%;gap:9px}.brand-home{font-size:13px;margin-right:auto}.brand-action{font-size:14px;min-height:44px;padding:9px 13px}.brand-auth-content{padding:32px 20px 45px}.brand-flow .wrap{margin:22px 12px 40px;padding:25px 20px 35px}.brand-flow .wrap h1{font-size:27px}.brand-flow .wrap h2{font-size:22px}.brand-flow .wrap p,.brand-flow .wrap li{font-size:16px}.brand-flow main:not(.app-main){padding-left:20px;padding-right:20px}.brand-flow .app-main{padding:0;min-width:0}.brand-flow .max-w-md>.p-8{padding:24px}.brand-header-nav{flex-wrap:nowrap}.brand-header-nav a{white-space:nowrap}.brand-flow .dcwrap>main{padding-left:0;padding-right:0}.brand-flow .business-document-content table{display:block;max-width:100%;overflow-x:auto}.brand-flow .business-document-content h2{font-size:29px!important}.brand-flow .footer-copy,.brand-flow .footer-link{font-size:13px}}
