@import "https://fonts.googleapis.com/css2?family=Zen+Kaku+Gothic+New:wght@400;500;700;900&family=Noto+Sans+JP:wght@400;500;700&display=swap";:root{--navy:#0b2c4d;--ink:#1e2a35;--gold:#c8a96a;--bg:#f4f7f9;--cream:#fdfaf5;--line-warm:#ece4d8;--line-cool:#e2e8ee;--body:#3e4c59;--muted-pale:#8a94a0;--danger:#a3342c;--heading-font:"Zen Kaku Gothic New", "Noto Sans JP", "Yu Gothic", system-ui, sans-serif;--body-font:"Noto Sans JP", "Zen Kaku Gothic New", "Yu Gothic", system-ui, sans-serif;--gutter:clamp(20px, 6vw, 140px)}*{box-sizing:border-box}body{background:var(--bg);color:var(--ink);font-family:var(--heading-font);-webkit-font-smoothing:antialiased;margin:0}p{margin:0}a{color:var(--navy)}.container{width:100%;max-width:1160px;margin:0 auto}.site-header{background:var(--cream);border-bottom:1px solid var(--line-warm);padding:20px var(--gutter)}.site-header .container{justify-content:space-between;align-items:center;gap:24px;display:flex}.brand{align-items:center;gap:14px;min-width:0;text-decoration:none;display:flex}.brand img{object-fit:cover;border:1px solid var(--line-warm);background:#fff;border-radius:50%;flex:none;width:40px;height:40px}.brand span{font:700 clamp(15px, 2.2vw, 18px)/1.4 var(--heading-font);color:var(--navy)}.header-back{font:500 15px/1 var(--heading-font);color:var(--ink);flex:none;text-decoration:none}main{padding:clamp(32px, 5vw, 56px) var(--gutter) clamp(56px, 8vw, 88px)}.btn{text-align:center;font:700 17px/1.4 var(--heading-font);cursor:pointer;border:none;border-radius:14px;justify-content:center;align-items:center;text-decoration:none;transition:transform .2s,box-shadow .2s;display:inline-flex}.btn--primary{background:var(--gold);color:var(--ink);padding:19px 24px;box-shadow:0 6px 18px #c8a96a59}.btn--primary:hover:not(:disabled){transform:translateY(-1px)}.btn--outline{color:var(--navy);border:1px solid var(--line-cool);background:#fff;padding:17px 24px}.btn--block{width:100%}.btn:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.text-link{border:none;border-bottom:1px solid var(--gold);font:500 14px/1.6 var(--heading-font);color:var(--navy);cursor:pointer;background:0 0;align-self:flex-start;padding:0 0 3px;text-decoration:none}.text-link:disabled{opacity:.5;cursor:not-allowed}.book-notice{font:400 15px/1.85 var(--body-font);border-radius:16px;margin-bottom:28px;padding:18px 22px}.book-notice--error{color:var(--danger);background:#fdf3f2;border:1px solid #e6c6c2}.book-notice--warn{border:1px solid var(--line-cool);color:var(--body);background:#fff}.signup{flex-direction:column;max-width:560px;margin:0 auto;display:flex}.book-title{font:700 clamp(24px, 3.2vw, 30px)/1.6 var(--heading-font);color:var(--navy);margin:0 0 clamp(24px,3vw,40px)}.book-panel{background:#fff;border-radius:24px;padding:clamp(20px,3vw,32px);box-shadow:0 2px 10px #0b2c4d0d}.signup-form{flex-direction:column;gap:20px;display:flex}.book-side-text{font:400 16px/1.9 var(--body-font);color:var(--body)}.book-muted{font:400 12px/1.8 var(--body-font);color:var(--muted-pale)}.signup-field{flex-direction:column;gap:8px;display:flex}.signup-field label{font:700 15px/1.6 var(--heading-font);color:var(--navy)}.book-input{border:1px solid var(--line-cool);width:100%;font:400 15px/1.9 var(--body-font);color:var(--ink);background:#fff;border-radius:14px;padding:16px 18px}.book-input:focus{outline:2px solid var(--gold);outline-offset:1px}.signup-check{font:400 14px/1.6 var(--body-font);color:var(--body);cursor:pointer;align-items:center;gap:10px;display:flex}.signup-check input{width:20px;height:20px;accent-color:var(--gold);flex:none}.signup-steps{font:400 15px/1.9 var(--body-font);color:var(--body);flex-direction:column;gap:10px;margin:0;padding-left:1.4em;display:flex}.signup-back{margin-top:28px}.signup-notices:focus{outline:none}.signup-notices{scroll-margin-top:24px}.site-footer{padding:40px var(--gutter);background:var(--ink)}.site-footer .container{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:24px;display:flex}.site-footer p{font:400 12px/1.6 var(--body-font);color:#6d7b88}.site-footer nav{flex-wrap:wrap;gap:24px;display:flex}.site-footer a{font:400 13px/1.6 var(--body-font);color:#c5cfd8;text-decoration:none}.site-footer a:hover{color:var(--gold)}
