:root{--bg-color: #478384;--bg-color-secondary: #E8E2D6;--accent: #B8935A;--bg-black: #0d0806;--text-primary: #ffffff;--text-secondary: #ddd8d2;--text-on-light: #1a120d;--text-on-light-muted: #5c4a3c;--font-sans: "Montserrat", sans-serif;--header-height: 80px}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{background-color:var(--bg-color);color:var(--text-primary);font-family:var(--font-sans);line-height:1.6;overflow-x:hidden}a{color:inherit;text-decoration:none}.surface-dark{background-color:var(--bg-color);color:var(--text-primary)}.surface-black{background-color:var(--bg-black);color:var(--text-primary)}.surface-light{background-color:var(--bg-color-secondary);color:var(--text-on-light);--text-primary: var(--text-on-light);--text-secondary: var(--text-on-light-muted)}.surface-white{background-color:#fff;color:var(--text-on-light);--text-primary: var(--text-on-light);--text-secondary: var(--text-on-light-muted)}h1 .ja,h2 .ja,h3 .ja{font-family:Yuji Syuku,serif;font-weight:400}.site-header{position:fixed;top:0;left:0;width:100%;height:var(--header-height);background-color:var(--bg-color);backdrop-filter:blur(5px);display:flex;justify-content:space-between;align-items:center;padding:0 40px;z-index:100}.header-left{display:flex;align-items:center;gap:15px;min-width:0;overflow:hidden}.header-right{display:flex;align-items:center;gap:16px;flex-shrink:0}.logo-box img{width:56px;height:56px;border-radius:4px}.site-title-block{display:flex;flex-direction:column;gap:3px;min-width:0;overflow:hidden}.l-1{font-size:clamp(.6rem,2.5vw,.85rem);font-weight:600;letter-spacing:clamp(0px,.15vw,1.5px);white-space:nowrap;overflow:hidden}.l-2{font-size:clamp(.5rem,1.8vw,.65rem);font-weight:400;letter-spacing:clamp(0px,.1vw,1px);color:var(--text-secondary);white-space:nowrap;overflow:hidden}.lang-btn{background:#ffffff14;border:1px solid rgba(255,255,255,.35);color:#fff;font-family:var(--font-sans);font-size:.72rem;font-weight:600;letter-spacing:2.5px;padding:8px 16px;cursor:pointer;border-radius:20px;transition:background .25s ease,border-color .25s ease,transform .15s ease;white-space:nowrap;min-height:36px;display:inline-flex;align-items:center;gap:0}.lang-btn .lang-ja,.lang-btn .lang-en,[data-lang=ja] .lang-btn .lang-ja{display:inline}[data-lang=ja] .lang-btn .lang-en{display:none}[data-lang=en] .lang-btn .lang-en{display:inline}[data-lang=en] .lang-btn .lang-ja{display:none}.lang-btn:hover{background:#ffffff2e;border-color:#ffffffb3;transform:translateY(-1px)}.lang-btn:active{transform:translateY(0)}.drawer-lang{margin-bottom:24px}.lang-btn--drawer{width:100%;border-radius:10px;padding:14px 20px;background:#ffffff0d;border:1px solid rgba(255,255,255,.15);display:flex;align-items:center;justify-content:center;gap:12px;min-height:60px}.lang-btn--drawer:hover{background:#ffffff1a;border-color:#ffffff59;transform:none}.drawer-lang-ja,.drawer-lang-en{display:flex;flex-direction:column;align-items:center;gap:3px;transition:color .25s ease,opacity .25s ease;opacity:.4}.drawer-lang-ja[data-active=true],.drawer-lang-en[data-active=true]{opacity:1;color:#fff}.drawer-lang-label{font-size:.9rem;font-weight:600;letter-spacing:1px;display:block}.drawer-lang-sub{font-size:.65rem;letter-spacing:1.5px;font-weight:400;color:inherit;display:block;opacity:.7}.drawer-lang-divider{font-size:1.1rem;color:#ffffff40;font-weight:300}.hamburger{background:none;border:none;cursor:pointer;display:flex;flex-direction:column;gap:6px;padding:10px;z-index:101}.hamburger .bar{display:block;width:30px;height:2px;background-color:var(--text-primary);transition:.3s ease}.drawer-menu{position:fixed;top:0;right:-100%;width:350px;height:100vh;background-color:var(--bg-color);z-index:200;padding:80px 40px 60px;transition:right .4s cubic-bezier(.2,.8,.2,1);box-shadow:-5px 0 15px #00000080;overflow-y:auto}.drawer-menu.open{right:0}.close-btn{position:absolute;top:25px;right:40px;background:none;border:none;color:var(--text-primary);font-size:2.5rem;cursor:pointer;line-height:1}.drawer-nav ul{list-style:none;display:flex;flex-direction:column;gap:0;margin-top:40px}.drawer-nav li{border-bottom:1px solid rgba(255,255,255,.07)}.drawer-nav a{display:block;padding:16px 0;font-size:1.3rem;font-weight:700;letter-spacing:3px;font-family:Yuji Syuku,serif;transition:color .3s ease,padding-left .3s ease}.drawer-nav a:hover{color:var(--text-secondary);padding-left:8px}.overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background-color:#0009;z-index:150;opacity:0;visibility:hidden;transition:opacity .4s ease,visibility .4s ease}.overlay.open{opacity:1;visibility:visible}.site-footer{background-color:var(--bg-color);padding:48px 40px 32px;border-top:1px solid rgba(255,255,255,.1)}.footer-content{max-width:1200px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;font-size:.8rem;color:var(--text-secondary)}.footer-logo{display:flex;align-items:center}.footer-logo-img{width:40px;height:40px;border-radius:4px;opacity:.8;transition:opacity .3s ease}.footer-logo-img:hover{opacity:1}.social-links{display:flex;gap:0}.social-links a{padding:4px 16px;border-left:1px solid rgba(255,255,255,.15);transition:color .3s ease}.social-links a:first-child{border-left:none;padding-left:0}.social-links a:hover{color:var(--text-primary)}.container{max-width:1200px;margin:0 auto;padding:calc(100px + var(--header-height)) 40px 100px;display:flex;flex-direction:column}.fade-in-title>span{display:inline-block;opacity:0;transform:translateY(20px);animation:titleFadeIn .8s ease forwards}.fade-in-title .line-1{animation-delay:.2s}.fade-in-title .line-2{animation-delay:.5s}@keyframes titleFadeIn{to{opacity:1;transform:translateY(0)}}.hero-fade{opacity:0;animation:heroImageFade 1s ease forwards}.hero-img-1{animation-delay:.8s}.hero-img-2{animation-delay:1.1s}.hero-img-3{animation-delay:1.4s}.author-name{animation-delay:1.7s}@keyframes heroImageFade{0%{opacity:0}to{opacity:1}}.reveal{opacity:0;transform:translateY(50px);transition:opacity 1.2s cubic-bezier(.2,.8,.2,1),transform 1.2s cubic-bezier(.2,.8,.2,1)}.reveal.active{opacity:1;transform:translateY(0)}.global-cta{padding:100px 40px;background-color:var(--bg-color);text-align:center}.global-cta-inner{max-width:640px;margin:0 auto}.global-cta h2{font-size:clamp(1.8rem,3vw,2.4rem);font-weight:400;letter-spacing:4px;margin-bottom:20px}.global-cta p{font-size:.95rem;color:var(--text-secondary);margin-bottom:40px;line-height:1.8}.side-nav{display:none}@media(min-width:901px){.hamburger{display:none}.site-header{width:calc(100% - 220px)}main,.site-footer{margin-right:220px}.side-nav{display:flex;flex-direction:column;justify-content:center;position:fixed;right:0;top:0;width:220px;height:100vh;background-color:var(--bg-color);border-left:1px solid rgba(255,255,255,.1);z-index:50;overflow-y:auto}.side-nav ul{list-style:none;display:flex;flex-direction:column;padding:16px 0}.side-nav li{border-bottom:1px solid rgba(255,255,255,.07)}.side-nav a{display:block;padding:15px 32px;font-size:1.05rem;font-weight:700;letter-spacing:3px;font-family:Yuji Syuku,serif;transition:color .3s ease,padding-left .3s ease,background .3s ease}.side-nav a:hover{padding-left:40px;background:#ffffff0d}.side-nav a.active{color:var(--accent);padding-left:40px;border-left:2px solid var(--accent)}}@media(max-width:900px){.site-header{padding:0 20px}.drawer-menu{width:80%}.footer-content{flex-direction:column;gap:15px;text-align:center}}.btn-primary{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:16px 40px;background:#c9a2271a;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);color:#e8d88a;border:1.5px solid rgba(201,162,39,.55);border-radius:9999px;font-family:var(--font-sans);font-weight:600;font-size:.95rem;letter-spacing:1.5px;cursor:pointer;text-shadow:0 1px 3px rgba(0,0,0,.5);box-shadow:inset 0 2px 5px #ffffff2e,inset 0 -2px 5px #00000038,0 -1px #ffdc7847,0 3px 10px #00000059,0 1px 3px #00000040;transition:transform .15s ease,box-shadow .15s ease,background .2s ease}.btn-primary:hover{background:#c9a22729;transform:translateY(-2px);box-shadow:inset 0 2px 5px #ffffff2e,inset 0 -2px 5px #00000038,0 -1px #ffdc7847,0 6px 18px #0006,0 2px 6px #00000040}.btn-primary:active{transform:translateY(1px);box-shadow:inset 0 3px 6px #00000040,inset 0 -1px 3px #ffffff1a,0 1px 4px #0000004d}.btn-outline{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:14px 36px;background:#ffffff0d;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);color:#e2c55a;border:1.5px solid rgba(201,162,39,.45);border-radius:9999px;font-family:var(--font-sans);font-size:.9rem;font-weight:500;letter-spacing:1.5px;cursor:pointer;box-shadow:inset 0 2px 4px #ffffff1f,inset 0 -2px 4px #0000002e,0 -1px #ffdc7833,0 3px 10px #00000047,0 1px 3px #0003;transition:transform .15s ease,box-shadow .15s ease,background .2s ease}.btn-outline:hover{background:#c9a2271a;transform:translateY(-2px);box-shadow:inset 0 2px 4px #ffffff1f,inset 0 -2px 4px #0000002e,0 -1px #ffdc7833,0 6px 18px #00000059,0 2px 6px #0003}.btn-outline:active{transform:translateY(1px);box-shadow:inset 0 3px 6px #0003,inset 0 -1px 3px #ffffff14,0 1px 4px #00000040}.btn-primary.btn-sm,.btn-outline.btn-sm{padding:10px 32px;font-size:.85rem}.back-btn{display:inline-flex;align-self:flex-start;align-items:center;gap:8px;padding:8px 20px;background:#ffffff0f;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:#ffffffbf;border:1px solid rgba(255,255,255,.22);border-radius:9999px;font-family:var(--font-sans);font-size:.82rem;letter-spacing:1px;cursor:pointer;box-shadow:inset 0 1px 3px #ffffff26,inset 0 -1px 3px #00000026,0 -1px #ffffff1f,0 2px 8px #00000040;transition:transform .15s ease,box-shadow .15s ease,background .2s ease}.back-btn:hover{background:#ffffff1a;transform:translateY(-1px);box-shadow:inset 0 1px 3px #ffffff26,inset 0 -1px 3px #00000026,0 -1px #ffffff1f,0 4px 12px #0000004d}.back-btn:active{transform:translateY(1px);box-shadow:inset 0 2px 4px #0003,0 1px 3px #0003}.back-arrow{font-size:.9rem}.en{display:none}[data-lang=en] .en{display:revert}[data-lang=en] .ja{display:none}
