:root{--foreground-rgb:51,51,51;--background-start-rgb:255,255,255;--background-end-rgb:250,250,250;--primary-color:#0f2c59;--secondary-color:#dac0a3;--accent-color:#3876bf;--text-main:#4a4a4a;--text-light:#666;--white:#fff;--light-gray:#f5f5f5;--font-heading:var(--font-noto-sans-jp),sans-serif;--font-body:var(--font-noto-sans-jp),sans-serif;--max-width:1200px;--header-height:100px}*{box-sizing:border-box;padding:0;margin:0}body,html{max-width:100vw;overflow-x:hidden;font-family:var(--font-body);color:var(--text-main);background:linear-gradient(to bottom,rgb(var(--background-start-rgb)),rgb(var(--background-end-rgb))) rgb(var(--background-start-rgb));line-height:1.6}a{color:inherit;text-decoration:none;transition:opacity .3s ease}a:hover{opacity:.7}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:700;line-height:1.3;margin-bottom:1rem;color:var(--text-main)}h2{font-size:1.6rem;margin-top:3rem;margin-bottom:1.5rem;border-left:5px solid var(--primary-color);padding-left:1rem;background-color:var(--light-gray);padding-top:.5rem;padding-bottom:.5rem}.container{max-width:var(--max-width);margin:0 auto;padding:0 20px}.section{padding:80px 0}.btn{display:inline-block;padding:12px 30px;border-radius:4px;font-weight:700;cursor:pointer;transition:all .3s ease;border:none}.btn-primary{background-color:var(--primary-color);color:var(--white)}.btn-primary:hover{background-color:var(--accent-color)}.text-center{text-align:center}.mb-1{margin-bottom:1rem}.mb-2{margin-bottom:2rem}.mb-4{margin-bottom:4rem}.prose{max-width:800px;margin:0 auto;line-height:1.8;color:var(--text-main)}.prose h1{font-size:2rem;padding-bottom:.5rem;border-bottom:2px solid var(--secondary-color);margin-bottom:2rem}.prose h3{font-size:1.4rem;margin-top:2rem;margin-bottom:1rem}.prose p{margin-bottom:1.5rem;text-align:justify}.prose ol,.prose ul{margin-bottom:1.5rem;padding-left:1.5rem}.prose li{margin-bottom:.5rem}.prose blockquote{border-left:4px solid var(--secondary-color);background-color:#fafafa;padding:1rem 1.5rem;margin:2rem 0;font-style:italic;color:var(--text-light)}.prose strong{color:var(--primary-color);background:linear-gradient(transparent 70%,#dbeafe 0)}.prose hr{margin:3rem 0;border:none;border-top:1px solid #ddd}.post-content img{float:right;width:28%;margin-left:20px;margin-bottom:20px;height:auto}.post-content h2,.post-content h3{clear:both}@media (max-width:768px){.post-content img{float:none;width:100%;margin:20px 0}}