:root{--color-primary: #1a1a1a;--color-accent: #c19a6b;--color-bg: #f4f4f0;--color-text: #333333;--color-light: #ffffff;--font-serif: "Zen Old Mincho", serif;--font-sans: "Noto Sans JP", sans-serif;--spacing-sm: 1rem;--spacing-md: 2rem;--spacing-lg: 4rem;--spacing-xl: 8rem}*{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--font-sans);background-color:var(--color-bg);color:var(--color-text);line-height:1.8;overflow-x:hidden}h1,h2,h3,h4{font-family:var(--font-serif);font-weight:700;line-height:1.4}a{text-decoration:none;color:inherit;transition:opacity .3s}a:hover{opacity:.7}img{max-width:100%;display:block}.container{max-width:1200px;margin:0 auto;padding:0 var(--spacing-md)}.section{padding:var(--spacing-xl) 0}.section-title{font-size:2.5rem;text-align:center;margin-bottom:var(--spacing-lg);position:relative;display:block;width:fit-content;margin-left:auto;margin-right:auto}.section-title:after{content:"";display:block;width:60px;height:2px;background-color:var(--color-accent);margin:1rem auto 0}.header{position:fixed;top:0;left:0;width:100%;padding:var(--spacing-md);z-index:100;display:flex;justify-content:space-between;align-items:center;background:transparent;transition:background .3s,padding .3s}body:not(.home) .header{background-color:#f4f4f0f2;box-shadow:0 2px 8px #0000000d}.logo{font-family:var(--font-serif);font-size:1.5rem;font-weight:700;z-index:101;display:flex;align-items:center;gap:.5rem}.logo a{display:flex;align-items:center;gap:.5rem}.nav{display:flex;gap:var(--spacing-md);transition:opacity .3s}.hamburger-menu{display:none;background:none;border:none;cursor:pointer;z-index:200}.hamburger-menu span{display:block;width:25px;height:2px;background-color:var(--color-primary);margin:6px 0;transition:.3s}.header.scrolled .hamburger-menu span{background-color:var(--color-primary)}body.home .hamburger-menu span{background-color:var(--color-light)}body.home .header.scrolled .hamburger-menu span{background-color:var(--color-primary)}.logo-text{position:relative;top:-7px;line-height:1}.logo-img{height:60px;width:auto;object-fit:contain}.nav a{font-size:.9rem;letter-spacing:.05em;text-transform:uppercase;color:var(--color-primary);font-weight:500}body.home .header{color:var(--color-light)}body.home .nav a{color:var(--color-light);text-shadow:0 1px 3px rgba(0,0,0,.3)}body.home .logo{text-shadow:0 1px 3px rgba(0,0,0,.3)}.header.scrolled{background:#f4f4f0f2;padding:1rem var(--spacing-md);box-shadow:0 2px 10px #0000000d;color:var(--color-primary)}body.home .header.scrolled{color:var(--color-primary)}.header.scrolled .nav a,body.home .header.scrolled .nav a{color:var(--color-primary);text-shadow:none}.hero{position:relative;height:100vh;width:100%;overflow:hidden}.hero-slider{position:absolute;top:0;left:0;width:100%;height:100%;z-index:-1}.hero-slide{position:absolute;top:0;left:0;width:100%;height:100%;background-size:cover;background-position:center;opacity:0;animation:slideShow 24s infinite}.hero-slide:nth-child(1){animation-delay:0s}.hero-slide:nth-child(2){animation-delay:8s}.hero-slide:nth-child(3){animation-delay:16s}@keyframes slideShow{0%{opacity:0;transform:scale(1)}4%{opacity:1}33%{opacity:1}37%{opacity:0}to{opacity:0;transform:scale(1.1)}}.hero-content{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center;color:var(--color-light);width:100%}.hero-title{font-size:4rem;margin-bottom:1rem;letter-spacing:.2em;text-shadow:0 4px 20px rgba(0,0,0,.3)}.hero-subtitle{font-size:1.2rem;letter-spacing:.1em;opacity:.9}.concept-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-lg);align-items:center}.concept-text h2{font-size:3rem;margin-bottom:var(--spacing-md);writing-mode:vertical-rl;text-orientation:upright;height:300px}.concept-text{font-family:var(--font-serif);line-height:2.2}.concept-image img{width:100%;height:auto;box-shadow:20px 20px 0 var(--color-bg),20px 20px 0 2px var(--color-primary)}.works-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:var(--spacing-md)}.work-item{position:relative;overflow:hidden;cursor:pointer}.work-item img{width:100%;height:400px;object-fit:cover;transition:transform .6s ease}.work-item:hover img{transform:scale(1.05)}.work-info{position:absolute;bottom:0;left:0;width:100%;padding:1.5rem;background:linear-gradient(to top,rgba(0,0,0,.8),transparent);color:var(--color-light);transform:translateY(100%);transition:transform .4s ease}.work-item:hover .work-info{transform:translateY(0)}.work-info h4{font-size:1.2rem;margin-bottom:.5rem}.work-info p{font-size:.9rem;opacity:.8}.footer{background-color:var(--color-primary);color:var(--color-light);padding:var(--spacing-lg) 0 2rem;margin-top:var(--spacing-xl)}.footer-content{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--spacing-lg);flex-wrap:wrap;gap:2rem}.footer-info .logo{color:var(--color-light);margin-bottom:1rem;display:block}.footer-links{display:flex;gap:1rem}.copyright{text-align:center;font-size:.8rem;border-top:1px solid rgba(255,255,255,.1);padding-top:2rem;opacity:.6}.fade-in-section{opacity:0;transform:translateY(20px);transition:opacity .8s ease-out,transform .8s ease-out}.fade-in-section.visible{opacity:1;transform:translateY(0)}.company-section{max-width:900px;margin:0 auto}.company-block{margin-bottom:var(--spacing-xl)}.company-block h3{font-size:1.5rem;margin-bottom:2rem;padding-left:1rem;border-left:4px solid var(--color-accent)}.philosophy-text{font-size:1.1rem;line-height:2.4;text-align:center;font-feature-settings:"palt"}.promises-list{list-style:none;display:flex;flex-direction:column;gap:2rem}.promises-list li{display:flex;align-items:center;gap:2rem;padding:1.5rem;background-color:#fff;box-shadow:0 4px 20px #00000008}.promise-num{font-family:var(--font-serif);font-size:2.5rem;color:var(--color-accent);font-weight:700;line-height:1}.promises-list p{font-size:1.1rem}.company-info-list{background-color:#fff;padding:3rem;border:1px solid rgba(0,0,0,.05)}.info-row{display:flex;padding:1rem 0;border-bottom:1px solid rgba(0,0,0,.1)}.info-row:last-child{border-bottom:none}.info-row dt{width:200px;font-weight:700;color:var(--color-primary)}.info-row dd{flex:1}.contact-form{max-width:700px;margin:0 auto}.form-group{margin-bottom:2rem}.form-group label{display:block;font-size:.9rem;margin-bottom:.5rem;letter-spacing:.05em;color:var(--color-primary)}.form-group input,.form-group textarea{width:100%;padding:1rem;background-color:#fff;border:1px solid #ddd;border-radius:0;font-family:var(--font-sans);font-size:1rem;transition:border-color .3s,box-shadow .3s}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 2px #c19a6b1a}.submit-btn{display:block;width:200px;margin:3rem auto 0;padding:1rem 0;background-color:var(--color-primary);color:var(--color-light);border:none;font-family:var(--font-serif);font-size:1.1rem;letter-spacing:.1em;cursor:pointer;transition:background-color .3s,transform .3s}.submit-btn:hover{background-color:var(--color-accent);transform:translateY(-2px)}@media(max-width:768px){.logo{font-size:1.1rem}.hero-title{font-size:2.5rem}.concept-grid{grid-template-columns:1fr;gap:2rem}.concept-text h2{writing-mode:horizontal-tb;height:auto;text-align:center;margin-bottom:2rem}.concept-image{order:-1}.section-title:after{margin:.5rem auto 0}.hamburger-menu{display:block}.nav{position:fixed;top:0;left:0;width:100%;height:100vh;background-color:#f4f4f0fa;flex-direction:column;justify-content:center;align-items:center;gap:3rem;padding:2rem;z-index:150;opacity:0;pointer-events:none;transition:opacity .4s ease}body.nav-open .nav{opacity:1;pointer-events:auto}body.nav-open{overflow:hidden}.nav a{font-size:1.5rem;color:var(--color-primary)!important;text-shadow:none!important}body.nav-open .hamburger-menu span:nth-child(1){transform:rotate(45deg) translate(5px,6px);background-color:var(--color-primary)!important}body.nav-open .hamburger-menu span:nth-child(2){opacity:0}body.nav-open .hamburger-menu span:nth-child(3){transform:rotate(-45deg) translate(5px,-6px);background-color:var(--color-primary)!important}.hero-title{font-size:2rem;letter-spacing:.1em}.hero-subtitle{font-size:1rem}.info-row{flex-direction:column;gap:.5rem}.info-row dt{width:100%;margin-bottom:.2rem}.promises-list li{flex-direction:column;text-align:center;gap:1rem}.footer-content{flex-direction:column;align-items:center;text-align:center}.footer-links{margin-top:1rem}}
