:root{--bg-primary: #ffffff;--bg-secondary: #f0fdfa;--bg-tertiary: #ccfbf1;--text-primary: #0f172a;--text-secondary: #475569;--accent-primary: #0ea5e9;--accent-hover: #0284c7;--accent-light: #e0f2fe;--max-width: 1000px;--nav-height: 100px;--font-heading: "Shippori Mincho", serif;--font-body: "Noto Sans JP", sans-serif;--shadow-soft: 0 4px 20px rgba(15, 23, 42, .03);--shadow-hover: 0 10px 30px rgba(15, 23, 42, .06);--transition-smooth: all .5s ease}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth;font-size:16px}body{font-family:var(--font-body);background-color:var(--bg-primary);color:var(--text-primary);line-height:1.8;overflow-x:hidden;font-weight:300}h1,h2,h3,h4,.logo{font-family:var(--font-heading);font-weight:500;line-height:1.4;color:var(--text-primary)}.navbar{position:fixed;top:0;left:0;width:100%;height:var(--nav-height);z-index:1000;background:#fffc;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid transparent;transition:var(--transition-smooth)}.navbar.scrolled{height:70px;background:#fffffff2;border-bottom:1px solid var(--bg-tertiary);box-shadow:0 2px 10px #0f172a05}.nav-container{max-width:var(--max-width);margin:0 auto;padding:0 2rem;height:100%;display:flex;justify-content:space-between;align-items:center}.logo{font-size:1.4rem;text-decoration:none;letter-spacing:.1em}.nav-links{display:flex;list-style:none;gap:3rem}.nav-links a{color:var(--text-secondary);text-decoration:none;font-size:.95rem;transition:var(--transition-smooth);position:relative}.nav-links a:after{content:"";position:absolute;bottom:-4px;left:0;width:0;height:1px;background-color:var(--accent-primary);transition:width .3s ease}.nav-links a:hover{color:var(--accent-primary)}.nav-links a:hover:after{width:100%}.hero-section{min-height:100vh;padding:calc(var(--nav-height) + 4rem) 2rem 4rem;max-width:var(--max-width);margin:0 auto;display:flex;align-items:center;justify-content:center;text-align:center;position:relative}.ocean-bg{position:absolute;top:0;left:0;width:100%;height:100%;z-index:-1;pointer-events:none}.hero-content{width:100%;max-width:650px;position:relative;z-index:10;margin:0 auto}.location-stamp{display:inline-flex;align-items:center;gap:.5rem;color:var(--text-secondary);font-size:.9rem;margin-bottom:2rem;letter-spacing:.05em;padding-bottom:.3rem}.hero-content h1{font-size:clamp(2.2rem,5vw,3.2rem);margin-bottom:2rem;letter-spacing:.02em}.hero-subtitle{font-size:1.05rem;color:var(--text-secondary);margin-bottom:3.5rem;line-height:2}.btn{display:inline-block;padding:1rem 2.5rem;border-radius:4px;font-size:.95rem;text-decoration:none;transition:var(--transition-smooth);cursor:pointer;letter-spacing:.05em}.btn-primary{background:var(--accent-primary);color:#fff;border:1px solid var(--accent-primary)}.btn-primary:hover{background:var(--accent-hover);border-color:var(--accent-hover);transform:translateY(-2px);box-shadow:var(--shadow-hover)}.projects-section{padding:8rem 2rem;max-width:var(--max-width);margin:0 auto}.section-header{text-align:center;margin-bottom:5rem}.section-header h2{font-size:clamp(1.8rem,3vw,2.2rem);margin-bottom:1.5rem;letter-spacing:.1em}.divider{width:30px;height:1px;background-color:var(--text-secondary);opacity:.5;margin:0 auto 1.5rem}.section-header p{color:var(--text-secondary);font-size:1rem}.projects-grid{display:flex;flex-direction:column;gap:2rem}.project-card{background:#fff;border:1px solid var(--bg-tertiary);border-radius:8px;transition:var(--transition-smooth)}.card-inner{padding:3rem;display:flex;flex-direction:column;height:100%}.project-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-hover);border-color:var(--bg-tertiary)}.project-header{margin-bottom:1.5rem}.status-tag{display:inline-block;font-size:.75rem;padding:.2rem .6rem;border-radius:20px;letter-spacing:.05em;background:var(--bg-tertiary);color:var(--text-secondary);border:1px solid var(--bg-tertiary)}.status-tag.active{background:var(--accent-light);color:var(--accent-hover)}.project-card h3{font-size:1.4rem;margin-bottom:1rem}.project-desc{color:var(--text-secondary);margin-bottom:2rem;flex-grow:1}.project-link{display:inline-flex;align-items:center;gap:.5rem;color:var(--accent-primary);text-decoration:none;font-size:.95rem;transition:var(--transition-smooth)}.arrow{transition:transform .3s ease}.project-link:not(.disabled):hover{color:var(--accent-hover)}.project-link:not(.disabled):hover .arrow{transform:translate(4px)}.project-link.disabled{color:var(--text-secondary);opacity:.6;cursor:default}footer{padding:6rem 2rem 3rem;background-color:transparent;border-top:1px solid var(--bg-tertiary)}.footer-content{max-width:var(--max-width);margin:0 auto;display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:4rem;flex-wrap:wrap;gap:2rem}.footer-brand h3{font-size:1.4rem;margin-bottom:1rem;letter-spacing:.1em}.footer-brand p{color:var(--text-secondary);font-size:.95rem}.footer-links{display:flex;gap:2rem}.footer-links a{color:var(--text-primary);text-decoration:none;transition:var(--transition-smooth)}.footer-links a:hover{color:var(--accent-primary)}.footer-bottom{max-width:var(--max-width);margin:0 auto;text-align:center;padding-top:2rem;border-top:1px solid var(--bg-tertiary);color:var(--text-secondary);font-size:.85rem}.fade-in{opacity:0;animation:fadeIn 1.2s ease forwards}.fade-in-up{opacity:0;transform:translateY(15px);animation:fadeInUp 1s cubic-bezier(.2,.8,.2,1) forwards}@keyframes fadeIn{to{opacity:1}}@keyframes fadeInUp{to{opacity:1;transform:translateY(0)}}.reveal{opacity:0;transform:translateY(20px);transition:all 1s cubic-bezier(.2,.8,.2,1)}.reveal.active{opacity:1;transform:translateY(0)}@media(max-width:768px){.hero-section{padding-top:calc(var(--nav-height) + 2rem)}.hero-content{max-width:100%}.location-stamp{justify-content:center}.nav-links{display:none}}
