:root{--primary-color: #2c3e50;--accent-color: #8e44ad;--text-color: #333;--bg-color: #f9f9f9;--font-serif: "Noto Serif JP", serif;--font-sans: "Noto Sans JP", sans-serif;--transition-speed: .4s}*{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--font-sans);color:var(--text-color);background-color:var(--bg-color);line-height:1.8;overflow-x:hidden}h1,h2,h3{font-family:var(--font-serif);font-weight:700}a{text-decoration:none;color:inherit;transition:opacity .3s}a:hover{opacity:.7}img{max-width:100%;height:auto;display:block}.container{max-width:1100px;margin:0 auto;padding:0 20px}.section{padding:100px 0}.section-title{text-align:center;font-size:2.5rem;margin-bottom:60px;position:relative;display:inline-block;left:50%;transform:translate(-50%)}.section-title:after{content:"";display:block;width:60px;height:3px;background:var(--accent-color);margin:15px auto 0}.hero-section{position:relative;height:100vh;width:100%;overflow:hidden;display:flex;align-items:center;justify-content:center}.hero-bg{position:absolute;top:0;left:0;width:100%;height:100%;z-index:-1}.hero-image{width:100%;height:100%;object-fit:cover;transform:scale(1.05);animation:bgZoom 20s infinite alternate}@keyframes bgZoom{0%{transform:scale(1.05)}to{transform:scale(1.15)}}.overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:#0006}.hero-content{position:relative;z-index:1;color:#fff;text-align:center;padding:20px;text-shadow:0 4px 10px rgba(0,0,0,.5);writing-mode:vertical-rl;text-orientation:upright;margin-right:auto;margin-left:10%;height:70vh;display:flex;flex-direction:column;justify-content:center;align-items:center}.main-copy{font-size:3rem;line-height:1.5;margin-left:20px;letter-spacing:.1em;border-left:1px solid rgba(255,255,255,.6);padding-left:20px}.sub-copy{font-family:var(--font-serif);font-size:1.2rem;margin-top:0;margin-right:30px}.product-intro-section{background:#fff;text-align:center}.intro-text-wrapper{max-width:800px;margin:0 auto}.intro-text{margin-bottom:2rem;font-size:1.1rem}.highlight-text{font-family:var(--font-serif);font-size:1.5rem;color:var(--accent-color);font-weight:700;margin-top:40px}.features-section{background:#f4f4f4}.features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:40px}.feature-item{background:#fff;padding:40px;border-radius:8px;box-shadow:0 5px 15px #0000000d;transition:transform .3s ease,box-shadow .3s ease;border-top:4px solid var(--accent-color)}.feature-item:hover{transform:translateY(-10px);box-shadow:0 15px 30px #0000001a}.feature-title{font-size:1.5rem;margin-bottom:20px;color:var(--primary-color)}.feature-desc{font-size:1rem;color:#666}.benefits-section{background:linear-gradient(135deg,#2c3e50,#000);color:#fff;text-align:center}.benefits-section .section-title{color:#fff}.benefits-section .section-title:after{background:#fff}.benefits-copy{font-family:var(--font-serif);font-size:2rem;margin-bottom:30px;font-weight:700}.benefits-text{font-size:1.1rem;opacity:.9}.benefit-block{text-align:left;margin-bottom:60px;background:#ffffff0d;padding:30px;border-radius:8px;border:1px solid rgba(255,255,255,.1)}.benefit-head{color:#fff;font-family:var(--font-serif);font-size:1.5rem;margin-bottom:15px;border-left:4px solid var(--accent-color);padding-left:15px}.benefit-lead{font-size:1.1rem;margin-bottom:25px;color:#ddd}.table-wrapper{overflow-x:auto}.benefit-table{width:100%;border-collapse:collapse;margin-bottom:20px;color:#eee}.benefit-table th,.benefit-table td{padding:15px;text-align:left;border-bottom:1px solid rgba(255,255,255,.2);vertical-align:top}.benefit-table th{background-color:#ffffff1a;white-space:nowrap;font-weight:700}.benefit-table tr:hover{background-color:#ffffff0d}.benefit-list{list-style:none;padding-left:0}.benefit-list li{margin-bottom:15px;padding-left:20px;position:relative;line-height:1.6;color:#ddd}.benefit-list li:before{content:"•";color:var(--accent-color);font-weight:700;position:absolute;left:0;top:0;font-size:1.2em}.benefit-list strong{color:#fff;font-weight:700;margin-right:5px;display:inline-block}.about-farm-section{background-color:#fff}.video-wrapper{position:relative;padding-bottom:56.25%;height:0;overflow:hidden;max-width:800px;margin:0 auto;border-radius:10px;box-shadow:0 10px 30px #0003}.video-wrapper iframe{position:absolute;top:0;left:0;width:100%;height:100%}.recipes-section{background:#f9f9f9}.recipes-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:30px}.recipe-item{text-align:center}.image-container{position:relative;overflow:hidden;border-radius:10px;box-shadow:0 5px 15px #0000001a;cursor:pointer}.recipe-image{width:100%;transition:transform .5s ease}.image-container:hover .recipe-image{transform:scale(1.1)}.image-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:#0000004d;display:flex;align-items:center;justify-content:center;color:#fff;opacity:0;transition:opacity .3s ease;pointer-events:none}.image-container:hover .image-overlay{opacity:1}.recipe-name{margin-top:15px;font-family:var(--font-serif);font-weight:700;font-size:1.2rem}.recipe-link{display:inline-block;margin-top:10px;color:var(--accent-color);font-weight:700;border-bottom:1px dashed var(--accent-color)}.modal{display:none;position:fixed;z-index:1000;padding-top:60px;left:0;top:0;width:100%;height:100%;overflow:auto;background-color:#000000e6;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.modal-content{margin:auto;display:block;width:80%;max-width:800px;animation:zoomIn .3s;border-radius:4px}@keyframes zoomIn{0%{transform:scale(0)}to{transform:scale(1)}}.close{position:absolute;top:30px;right:50px;color:#f1f1f1;font-size:60px;font-weight:700;transition:.3s;cursor:pointer}.close:hover,.close:focus{color:#bbb;text-decoration:none;cursor:pointer}.footer{background:#111;color:#888;text-align:center;padding:30px 0;font-size:.9rem}.fade-in{opacity:0;transform:translateY(20px);transition:opacity .8s ease-out,transform .8s ease-out}.fade-in-up{opacity:0;transform:translateY(30px);transition:opacity .8s ease-out,transform .8s ease-out}.visible{opacity:1;transform:translateY(0)}.delay-100{transition-delay:.1s}.delay-200{transition-delay:.2s}.delay-300{transition-delay:.3s}@media(max-width:768px){.hero-content{writing-mode:horizontal-tb;margin:0 auto;text-align:center;padding:20px;height:auto}.main-copy{font-size:2rem;border-left:none;padding-left:0;margin-left:0;margin-bottom:20px}.sub-copy{margin-right:0}.section-title{font-size:2rem}}
