:root{--bg-color:#faf9f6;--text-color:#4a4a4a;--accent-color:#8b7355;--accent-light:#a68d71;--muted-color:#d3d3d3;--card-bg:#fff;--header-height:80px;--font-sans:"Yu Gothic", "YuGothic", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "Meiryo", sans-serif;--font-serif:"Yu Gothic", "YuGothic", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "Meiryo", sans-serif;--transition:all .3s ease}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-color);color:var(--text-color);font-family:var(--font-sans);-webkit-text-size-adjust:100%;font-weight:500;line-height:1.6;overflow-x:hidden}h1,h2,h3,h4{font-family:var(--font-serif);letter-spacing:.05em;font-weight:500}a{color:inherit;transition:var(--transition);text-decoration:none}ul{list-style:none}img{max-width:100%;height:auto;display:block}.container{max-width:1200px;margin:0 auto;padding:0 1.5rem}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:.8s forwards fadeIn}.reveal{opacity:0;transition:opacity 1.2s,transform 1.2s;transform:translateY(30px)}.reveal.is-visible{opacity:1;transform:translateY(0)}.more-link{text-transform:uppercase;letter-spacing:.1em;border-bottom:1px solid var(--accent-color);opacity:.6;margin-top:2rem;padding-bottom:.2rem;font-size:.9rem;display:inline-block}.more-link:hover{opacity:1}@keyframes blinkShort{0%,to{opacity:.2}50%{opacity:1}}.blink-loading{animation:.6s ease-in-out infinite blinkShort}.section{padding:3rem 0}@media (min-width:768px){.section{padding:6rem 0}}.grid{gap:1.5rem;display:grid}@media (min-width:768px){.grid{gap:3rem}.grid-2{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}}h1{font-size:2.5rem}h2{font-size:1.8rem}h3{font-size:1.3rem}@media (min-width:768px){h1{font-size:4rem}h2{font-size:2.2rem}h3{font-size:1.5rem}}.btn{background-color:var(--accent-color);color:#fff;cursor:pointer;transition:var(--transition);font-family:var(--font-sans);text-transform:uppercase;letter-spacing:.1em;border:none;padding:.8rem 2rem;display:inline-block}.btn:hover{background-color:var(--accent-light)}.btn-outline{border:1px solid var(--accent-color);color:var(--accent-color);background-color:#0000}.btn-outline:hover{background-color:var(--accent-color);color:#fff}
