:root{--color-bg: #F9F8F6;--color-text: #2C2C2C;--color-text-light: #666666;--color-primary: #4A5D46;--color-accent: #BFA67A;--color-white: #FFFFFF;--font-jp-serif: "Zen Old Mincho", serif;--font-jp-sans: "Noto Sans JP", sans-serif;--font-en-serif: "Cormorant Garamond", serif;--font-en-sans: "Inter", sans-serif;--easing: cubic-bezier(.22, 1, .36, 1);--transition-slow: 1.2s var(--easing);--transition-medium: .8s var(--easing)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;font-size:16px}body{background-color:var(--color-bg);color:var(--color-text);font-family:var(--font-jp-sans);line-height:1.8;overflow-x:hidden;-webkit-font-smoothing:antialiased;cursor:none}#cursor{position:fixed;top:0;left:0;width:12px;height:12px;background-color:var(--color-primary);border-radius:50%;pointer-events:none;z-index:9999;transform:translate(-50%,-50%);transition:width .3s,height .3s,background-color .3s;mix-blend-mode:multiply}body:hover #cursor{opacity:1}a:hover~#cursor,button:hover~#cursor,.btn-primary:hover~#cursor{width:40px;height:40px;background-color:transparent;border:1px solid var(--color-primary)}h1,h2,h3,h4{font-family:var(--font-jp-serif);font-weight:500;line-height:1.4}img{max-width:100%}.jp-title{font-family:var(--font-jp-serif)}.section-title{font-size:3rem;margin-bottom:2rem;letter-spacing:.05em}.section-title i{font-family:var(--font-en-serif);font-style:italic}.label{display:block;font-family:var(--font-en-serif);font-size:1rem;text-transform:uppercase;letter-spacing:.2em;color:var(--color-accent);margin-bottom:1rem}.desc{font-size:1.1rem;color:var(--color-text-light);margin-bottom:2rem}.container{max-width:1200px;margin:0 auto;padding:0 2rem}.section{padding:10rem 0;position:relative}.center{text-align:center}#loader{position:fixed;top:0;right:0;bottom:0;left:0;background-color:var(--color-bg);z-index:10000;display:flex;justify-content:center;align-items:center;transition:opacity 1.5s var(--easing)}.drop{position:absolute;top:-20px;width:4px;height:15px;background-color:var(--color-primary);border-radius:50%;animation:dropFall 1.5s cubic-bezier(.7,0,.84,0) forwards;opacity:0}.ripple{position:absolute;border:1px solid var(--color-primary);border-radius:50%;opacity:0;transform:scale(0)}.ripple-1{width:60px;height:60px;animation:rippleEffect 2s cubic-bezier(.25,.46,.45,.94) 1.4s forwards}.ripple-2{width:120px;height:120px;animation:rippleEffect 2s cubic-bezier(.25,.46,.45,.94) 1.6s forwards}.loader-content{z-index:2}.loader-text{font-family:var(--font-jp-serif);font-size:2rem;letter-spacing:.5em;color:var(--color-text);opacity:0;animation:textFadeIn 2s ease-out 1.8s forwards}@keyframes dropFall{0%{top:-20px;opacity:1}90%{opacity:1}to{top:50%;opacity:0}}@keyframes rippleEffect{0%{transform:scale(0);opacity:.5;border-width:2px}to{transform:scale(1.5);opacity:0;border-width:0px}}@keyframes textFadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.header{position:fixed;top:0;left:0;width:100%;padding:2rem 3rem;display:flex;justify-content:space-between;align-items:center;z-index:100;mix-blend-mode:difference;color:var(--color-white)}.logo{font-family:var(--font-en-serif);font-size:1.5rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase}.nav ul{display:flex;list-style:none;gap:3rem}.nav a{text-decoration:none;color:inherit;font-family:var(--font-en-sans);font-size:.9rem;letter-spacing:.1em;text-transform:uppercase;position:relative}.nav a:after{content:"";position:absolute;bottom:-5px;left:0;width:0;height:1px;background-color:currentColor;transition:width .3s var(--easing)}.nav a:hover:after{width:100%}.hero{height:100vh;width:100%;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center}.hero-bg{position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1}.hero-bg img{width:100%;height:100%;object-fit:cover;filter:brightness(.7);transform:scale(1.1)}.hero-content{text-align:center;color:var(--color-white);z-index:1}.hero-title{font-size:5vw;margin-bottom:1.5rem;line-height:1.2}.hero-title span{display:block}.jp-title{font-size:3vw;font-weight:400;margin-top:.5rem}.hero-subtitle{font-size:1.2rem;letter-spacing:.1em;font-weight:300}.scroll-indicator{position:absolute;bottom:3rem;left:50%;transform:translate(-50%);color:var(--color-white);display:flex;flex-direction:column;align-items:center;gap:1rem;font-family:var(--font-en-sans);font-size:.8rem;letter-spacing:.2em;opacity:.7}.scroll-indicator .line{width:1px;height:60px;background-color:var(--color-white);animation:scrollLine 2s infinite;transform-origin:top}@keyframes scrollLine{0%{transform:scaleY(0)}50%{transform:scaleY(1)}to{transform:scaleY(0);transform-origin:bottom}}.split-layout{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center}.img-wrapper{overflow:hidden;position:relative}.img-wrapper img{width:100%;height:auto;display:block;transition:transform var(--transition-slow)}.img-wrapper:hover img{transform:scale(1.05)}.product-showcase{margin-top:6rem;display:flex;flex-direction:column;gap:8rem}.product-card{display:grid;grid-template-columns:.9fr 1.1fr;gap:4rem;align-items:center}.product-card.reverse{grid-template-columns:1.1fr .9fr}.product-card.reverse .card-img{order:2}.product-card.reverse .card-info{order:1;text-align:left;padding-right:2rem}.card-info{padding:2rem}.card-info h3{font-family:var(--font-en-serif);font-size:2.5rem;margin-bottom:.5rem;color:var(--color-primary)}.card-info .origin{font-family:var(--font-en-sans);font-size:.9rem;letter-spacing:.1em;text-transform:uppercase;color:var(--color-accent);margin-bottom:1.5rem}.experience{background-color:#f0efe9;overflow:hidden}.bg-text{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-family:var(--font-en-serif);font-size:20vw;color:#00000008;pointer-events:none;white-space:nowrap}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;margin-top:4rem}.step{padding:2rem;border-top:1px solid rgba(0,0,0,.1);transition:border-color .3s}.step:hover{border-color:var(--color-primary)}.step .num{display:block;font-family:var(--font-en-serif);font-size:3rem;color:var(--color-accent);margin-bottom:1rem;line-height:1}.step h4{font-family:var(--font-en-serif);font-size:1.5rem;margin-bottom:1rem}.join{height:80vh;display:flex;align-items:center;justify-content:center;color:var(--color-white);position:relative}.join-bg{position:absolute;top:0;right:0;bottom:0;left:0;background-color:var(--color-primary);z-index:-1}.join-bg:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:url(field.png) no-repeat center center;background-size:cover;opacity:.2;mix-blend-mode:overlay}.white{color:var(--color-white)}.btn-primary{display:inline-block;padding:1.2rem 3rem;background-color:var(--color-accent);color:var(--color-white);text-decoration:none;font-family:var(--font-en-sans);text-transform:uppercase;letter-spacing:.1em;margin-top:2rem;transition:background-color .3s,transform .3s}.btn-primary:hover{background-color:#a88b50;transform:translateY(-2px)}.note{font-size:.8rem;margin-top:1rem;opacity:.7}.footer{padding:4rem 0;background-color:#1a1a1a;color:#888;font-size:.9rem}.footer .container{display:flex;justify-content:space-between;align-items:center}.footer-col.links{display:flex;gap:2rem}.footer a{color:inherit;text-decoration:none;transition:color .3s}.footer a:hover{color:var(--color-white)}.reveal-text{opacity:0;transform:translateY(30px);transition:opacity 1s var(--easing),transform 1s var(--easing)}.reveal-text.active{opacity:1;transform:translateY(0)}.reveal-img{opacity:0;clip-path:inset(0 100% 0 0);transition:clip-path 1.2s var(--easing),opacity 1s}.reveal-img.active{opacity:1;clip-path:inset(0 0 0 0)}@media (max-width: 768px){.section-title{font-size:2rem}.hero-title{font-size:12vw}.jp-title{font-size:6vw}.split-layout,.product-card,.product-card.reverse,.steps{grid-template-columns:1fr;gap:3rem}.product-card.reverse{direction:ltr}.nav{display:none}.menu-toggle{display:block}}
