:root{--k-bg: #0a0a0a;--k-surface-1: #111110;--k-surface-2: #171614;--k-surface-3: #1d1b18;--k-line-faint: #1a1916;--k-line: #262420;--k-line-strong: #393630;--k-gold: #c9a84c;--k-gold-bright: #d4af37;--k-gold-deep: #8f7836;--k-gold-tint: rgba(201, 168, 76, .12);--k-gold-faint: rgba(201, 168, 76, .05);--k-text-strong: #e8e0d0;--k-text: #b6b0a3;--k-text-soft: #8d8779;--k-text-dim: #676253;--k-acc-shiryo: #8fa0b2;--k-acc-yomimono: #b58263;--k-acc-shiryo-tint: rgba(143, 160, 178, .12);--k-acc-yomimono-tint: rgba(181, 130, 99, .12);--k-status-up: #6abf7b;--k-button: var(--k-gold);--k-button-text: var(--k-bg);--k-font-display: "Noto Serif SC", "Songti SC", serif;--k-font-body: "Noto Sans SC", "PingFang SC", sans-serif;--k-font-mono: "Courier New", monospace;--k-fs-h1: 2rem;--k-fs-h2: 1.5rem;--k-fs-h3: 1.1875rem;--k-fs-body: 1rem;--k-fs-small: .875rem;--k-fs-caption: .8125rem;--k-fs-eyebrow: .75rem;--k-lh-heading: 1.45;--k-lh-body: 1.9;--k-lh-data: 1.6;--k-ls-heading: .04em;--k-ls-eyebrow: .24em;--k-ls-button: .08em;--k-sp-1: 4px;--k-sp-2: 8px;--k-sp-3: 12px;--k-sp-4: 16px;--k-sp-5: 24px;--k-sp-6: 32px;--k-sp-7: 48px;--k-sp-8: 64px;--k-sp-9: 80px;--k-card-pad: var(--k-sp-5);--k-sect-y: var(--k-sp-9);--k-sect-x: 40px;--k-container: 1120px;--k-content: 720px;--k-grid-gap: var(--k-sp-5);--k-radius: 0;--k-ease: .18s ease;--k-shadow-pop: 0 16px 48px rgba(0, 0, 0, .55)}@media(max-width:768px){:root{--k-fs-h1: 1.625rem;--k-fs-h2: 1.3125rem;--k-sect-y: var(--k-sp-7);--k-sect-x: 20px;--k-grid-gap: var(--k-sp-4)}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--k-font-body);font-size:var(--k-fs-body);line-height:var(--k-lh-body);background:var(--k-bg);color:var(--k-text);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.t-header{display:flex;align-items:center;gap:var(--k-sp-6);height:64px;padding:0 var(--k-sect-x);border-bottom:1px solid var(--k-line);background:var(--k-bg);position:sticky;top:0;z-index:100}.t-logo{display:flex;align-items:center;gap:10px;text-decoration:none;flex-shrink:0}.t-logo-icon{width:28px;height:28px;display:flex;align-items:center;justify-content:center}.t-logo-icon svg{width:100%;height:100%}.t-logo-text{font-family:var(--k-font-display);font-size:1.125rem;font-weight:700;letter-spacing:.08em;color:var(--k-text-strong)}.t-nav{display:flex;gap:var(--k-sp-5);margin-left:auto;height:100%}.t-nav>a,.t-nav-group>button{display:inline-flex;align-items:center;height:100%;font-family:var(--k-font-body);font-size:var(--k-fs-caption);letter-spacing:.06em;color:var(--k-text-soft);text-decoration:none;background:none;border:none;border-bottom:2px solid transparent;margin-bottom:-1px;cursor:pointer;padding:0;transition:color var(--k-ease)}.t-nav>a:hover,.t-nav-group>button:hover{color:var(--k-gold)}.t-nav>a.is-active,.t-nav-group>button.is-active{color:var(--k-text-strong);border-bottom-color:var(--k-gold)}.t-nav-group{position:relative;height:100%}.t-nav-group>button:after{content:" ▾";font-size:9px;opacity:.5}.t-nav-drop{display:none;position:absolute;top:calc(100% + 1px);left:-16px;min-width:180px;background:var(--k-surface-1);border:1px solid var(--k-line);padding:var(--k-sp-2) 0;z-index:100}.t-nav-group:hover .t-nav-drop,.t-nav-group:focus-within .t-nav-drop{display:block}.t-nav-drop a{display:block;padding:10px 20px;font-size:var(--k-fs-caption);color:var(--k-text-soft);text-decoration:none;white-space:nowrap;transition:color var(--k-ease),background var(--k-ease)}.t-nav-drop a:hover{color:var(--k-gold);background:var(--k-surface-2)}.t-account{position:relative;display:inline-flex;align-items:center;justify-content:center;width:30px;height:26px;color:var(--k-text-dim);border:1px solid var(--k-line-strong);transition:border-color var(--k-ease),color var(--k-ease);flex-shrink:0}.t-account:hover{border-color:var(--k-gold);color:var(--k-gold)}.t-account svg{width:14px;height:14px}.t-burger{margin-left:auto;display:none;flex-direction:column;justify-content:center;gap:5px;width:44px;height:44px;padding:10px;background:transparent;border:1px solid var(--k-line-strong);cursor:pointer}.t-burger span{display:block;height:1px;background:var(--k-text-strong)}@media(max-width:768px){.t-header{height:56px;padding:0 16px}.t-nav{display:none}.t-burger{display:inline-flex}}.k-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:14px 28px;font-family:var(--k-font-body);font-size:var(--k-fs-small);font-weight:500;letter-spacing:var(--k-ls-button);line-height:1;color:var(--k-text-strong);background:transparent;border:1px solid var(--k-line-strong);border-radius:var(--k-radius);cursor:pointer;text-decoration:none;transition:background var(--k-ease),border-color var(--k-ease),color var(--k-ease)}.k-btn--primary{background:var(--k-gold);border-color:var(--k-gold);color:var(--k-bg)}.k-btn--primary:hover{background:var(--k-gold-bright);border-color:var(--k-gold-bright)}.k-card{display:block;background:var(--k-surface-1);border:1px solid var(--k-line);border-radius:var(--k-radius);color:inherit;text-decoration:none;transition:border-color var(--k-ease),background var(--k-ease)}.k-card:hover{border-color:var(--k-gold);background:var(--k-surface-2)}.k-card__body{padding:var(--k-card-pad);display:flex;flex-direction:column;gap:var(--k-sp-3)}.k-sect-head{display:flex;flex-direction:column;gap:var(--k-sp-2);padding-bottom:var(--k-sp-4);border-bottom:1px solid var(--k-line);margin-bottom:var(--k-sp-6)}.k-eyebrow{font-family:var(--k-font-body);font-size:var(--k-fs-eyebrow);font-weight:500;letter-spacing:var(--k-ls-eyebrow);color:var(--k-gold);text-transform:uppercase}.k-sect-head h2{margin:0;font-family:var(--k-font-display);font-size:var(--k-fs-h2);font-weight:600;letter-spacing:var(--k-ls-heading);line-height:var(--k-lh-heading);color:var(--k-text-strong)}.k-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--k-grid-gap)}@media(max-width:1024px){.k-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:560px){.k-grid{grid-template-columns:1fr}}.tp-sect{max-width:var(--k-container);margin:0 auto;padding:var(--k-sect-y) var(--k-sect-x) 0}.tp-sect:last-of-type{padding-bottom:var(--k-sect-y)}.ab-crumbs{max-width:var(--k-container);margin:0 auto;padding:var(--k-sp-5) var(--k-sect-x) 0;font-size:var(--k-fs-caption);color:var(--k-text-dim);letter-spacing:.04em;display:flex;gap:var(--k-sp-2);flex-wrap:wrap}.ab-crumbs a{color:var(--k-text-soft)}.ab-crumbs a:hover{color:var(--k-gold)}.ab-crumbs .is-cur{color:var(--k-text-strong)}.ab-hero{max-width:var(--k-container);margin:0 auto;padding:var(--k-sp-7) var(--k-sect-x) 0;border-bottom:1px solid var(--k-line)}.ab-hero h1{font-family:var(--k-font-display);font-size:var(--k-fs-h1);font-weight:600;letter-spacing:var(--k-ls-heading);line-height:var(--k-lh-heading);color:var(--k-text-strong)}.ab-hero p{margin-top:var(--k-sp-3);max-width:var(--k-content);font-size:var(--k-fs-small);line-height:2.1;color:var(--k-text)}.ab-body{max-width:var(--k-content);margin:0 auto;padding:var(--k-sect-y) var(--k-sect-x) 0;display:flex;flex-direction:column;gap:var(--k-sp-5)}.ab-body h3{font-family:var(--k-font-display);font-size:var(--k-fs-h3);font-weight:600;letter-spacing:var(--k-ls-heading);line-height:var(--k-lh-heading);color:var(--k-text-strong);margin-top:var(--k-sp-2)}.ab-body p{font-size:var(--k-fs-small);line-height:2.1;color:var(--k-text)}.t-footer{border-top:1px solid var(--k-line);padding:var(--k-sp-7) var(--k-sect-x);margin-top:var(--k-sect-y)}.t-footer-grid{max-width:var(--k-container);margin:0 auto;display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:var(--k-sp-6)}@media(max-width:768px){.t-footer{padding:var(--k-sp-6) 20px;margin-top:var(--k-sp-7)}.t-footer-grid{grid-template-columns:1fr 1fr;gap:var(--k-sp-5)}}.t-footer h4{margin:0 0 var(--k-sp-3);font-size:var(--k-fs-eyebrow);font-weight:500;letter-spacing:var(--k-ls-eyebrow);color:var(--k-text-soft)}.t-footer a{font-size:var(--k-fs-caption);color:var(--k-text-soft);text-decoration:none}.t-footer a:hover{color:var(--k-gold)}.t-footer .t-copy{margin-top:var(--k-sp-3);font-size:var(--k-fs-caption);line-height:1.8;color:var(--k-text-dim)}.t-footer .t-logo{margin-bottom:var(--k-sp-3)}.modal-overlay{display:none;position:fixed;top:0;left:0;width:100%;height:100%;background:#000000b3;z-index:1000;justify-content:center;align-items:center}.modal-overlay.active{display:flex}.modal{background:var(--k-bg);border:1px solid var(--k-line);border-radius:var(--k-radius);padding:var(--k-sp-6);width:100%;max-width:400px;position:relative}.modal-close{position:absolute;top:var(--k-sp-3);right:var(--k-sp-3);background:none;border:none;color:var(--k-text-dim);cursor:pointer;font-size:1.5rem}.modal-close:hover{color:var(--k-gold)}.modal h2{margin-bottom:var(--k-sp-4);text-align:center;font-family:var(--k-font-display);font-weight:600;color:var(--k-text-strong)}.modal-form{display:flex;flex-direction:column;gap:var(--k-sp-3)}.modal-form input{padding:12px;border:1px solid var(--k-line);border-radius:var(--k-radius);background:var(--k-surface-1);color:var(--k-text);font-size:1rem}.modal-form input:focus{outline:none;border-color:var(--k-gold)}.modal-form button{padding:12px;background:var(--k-gold);border:1px solid var(--k-gold);color:var(--k-bg);font-size:1rem;font-weight:500;cursor:pointer;border-radius:var(--k-radius);letter-spacing:var(--k-ls-button)}.modal-form button:hover{background:var(--k-gold-bright);border-color:var(--k-gold-bright)}.modal-link{margin-top:var(--k-sp-4);text-align:center;font-size:var(--k-fs-caption);color:var(--k-text-soft)}.modal-link a{color:var(--k-gold)}.modal-link a:hover{color:var(--k-gold-bright)}
