:root{--sumi: #2b2b2b;--sumi-deep: #1a1a1a;--sumi-light: #3d3d3d;--kaki: #d1602a;--kinari: #f5f0e8;--kinari-dark: #ebe4d8;--shiro: #faf8f5;--matcha: #4a7c59;--kitsune: #9b7b2c;--ai: #264e7e;--hai: #685f59;--border: #d5cfc5;--transition: .4s cubic-bezier(.22, 1, .36, 1);--max-width: 1200px;--space-section: 7rem;--space-section-sm: 4rem;--space-gutter: 2rem;--space-gutter-sm: 1.25rem}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:80px;font-size:16px}body{font-family:Noto Sans JP,-apple-system,BlinkMacSystemFont,sans-serif;color:var(--sumi);background:var(--kinari);line-height:2;-webkit-font-smoothing:antialiased;overflow-x:hidden;font-feature-settings:"palt" 1;background-image:repeating-linear-gradient(0deg,transparent,transparent 3px,rgba(43,43,43,.02) 3px,rgba(43,43,43,.02) 4px),repeating-linear-gradient(90deg,transparent,transparent 7px,rgba(43,43,43,.015) 7px,rgba(43,43,43,.015) 8px)}::selection{background:var(--kaki);color:#fff}.skip-link{position:absolute;top:-100%;left:1rem;padding:.75rem 1.5rem;background:var(--sumi);color:#fff;text-decoration:none;border-radius:2px;font-weight:600;z-index:10000;transition:top .2s}.skip-link:focus{top:1rem}:focus-visible{outline:2px solid var(--kaki);outline-offset:2px}.nav{position:fixed;top:0;left:0;right:0;z-index:1000;padding:0 var(--space-gutter);transition:var(--transition);background:transparent}.nav.scrolled{background:#f5f0e8f7;border-bottom:1px solid var(--border)}.nav-inner{max-width:var(--max-width);margin:0 auto;display:flex;align-items:center;justify-content:space-between;height:72px}.nav-logo{display:flex;align-items:center;gap:8px;font-family:"Noto Serif JP",serif;font-weight:700;font-size:.9rem;letter-spacing:.08em;text-decoration:none;color:var(--sumi)}.nav-logo img{height:36px;width:auto}.nav-links{display:flex;gap:2rem;list-style:none;align-items:center}.nav-links a{text-decoration:none;color:var(--sumi-light);font-size:.85rem;font-weight:500;letter-spacing:.02em;transition:color .3s;border-bottom:1px solid transparent;padding-bottom:2px}.nav-jp{margin-right:.3em}.nav-en{font-size:.65rem;letter-spacing:.1em;color:var(--hai)}.nav-links a:hover{color:var(--sumi);border-bottom-color:var(--kaki)}.nav-links a:hover .nav-en{color:var(--sumi-light)}.nav-links .nav-cta{background:var(--sumi);color:var(--kinari);padding:8px 20px;border-radius:2px;font-weight:600;border-bottom:none;transition:var(--transition)}.nav-links .nav-cta:hover{background:var(--kaki);color:#fff;border-bottom:none}.hamburger{display:none;flex-direction:column;gap:5px;cursor:pointer;background:none;border:none;padding:8px}.hamburger span{display:block;width:24px;height:2px;background:var(--sumi);transition:var(--transition);transform-origin:center}.hamburger.active span:nth-child(1){transform:translateY(7px) rotate(45deg)}.hamburger.active span:nth-child(2){opacity:0}.hamburger.active span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.nav-links.open{display:flex;flex-direction:column;position:absolute;top:72px;left:0;right:0;background:#f5f0e8f7;padding:1.5rem var(--space-gutter);gap:1.25rem;border-bottom:1px solid var(--border)}.hero{position:relative;min-height:100vh;display:flex;align-items:center;justify-content:center;text-align:center;padding:8rem var(--space-gutter) 6rem;overflow:hidden;background:var(--kinari)}.hero-watermark{position:absolute;right:5%;top:50%;transform:translateY(-50%);writing-mode:vertical-rl;font-family:"Noto Serif JP",serif;font-size:clamp(4rem,10vw,8rem);font-weight:500;color:var(--sumi);opacity:.06;letter-spacing:.3em;pointer-events:none;user-select:none;white-space:nowrap}.hero-content{position:relative;z-index:2;max-width:700px}.hero-logo{width:clamp(280px,35vw,440px);height:auto;margin:0 auto 3rem;display:block;opacity:0;animation:fadeIn 1s ease-out .3s forwards}.hero h1{font-family:"Noto Serif JP",serif;font-size:clamp(2.2rem,5vw,3.2rem);font-weight:700;line-height:1.4;margin-bottom:1.5rem;letter-spacing:.08em;opacity:0;animation:fadeIn 1s ease-out .6s forwards}.hero h1 .accent{color:var(--kaki)}.hero-subtitle{font-size:clamp(.95rem,2vw,1.1rem);color:var(--sumi-light);font-weight:400;line-height:2;opacity:0;animation:fadeIn 1s ease-out .9s forwards}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.sumi-line{display:flex;align-items:center;justify-content:center;padding:0;position:relative;height:1px}.sumi-line:before{content:"";position:absolute;left:50%;top:0;transform:translate(-50%);width:60px;height:1px;background:var(--sumi);opacity:.2}.sumi-diamond{position:relative;z-index:1;width:6px;height:6px;background:var(--sumi);opacity:.2;transform:rotate(45deg)}.sumi-line.visible:before{animation:sumiDraw .8s ease-out forwards}@keyframes sumiDraw{0%{transform:translate(-50%) scaleX(0)}to{transform:translate(-50%) scaleX(1)}}.section{padding:var(--space-section) var(--space-gutter);position:relative;overflow:hidden}.section-inner{max-width:var(--max-width);margin:0 auto;position:relative;z-index:1}.section-alt{background:var(--shiro)}.section-kinari-dark{background:var(--kinari-dark)}.section-label{display:block;margin-bottom:1rem}.section-label-jp{font-family:"Noto Serif JP",serif;font-size:.9rem;font-weight:600;color:var(--sumi);letter-spacing:.15em;margin-right:.75rem}.section-label-en{font-family:Noto Sans JP,sans-serif;font-size:.7rem;font-weight:500;letter-spacing:.2em;color:var(--hai);text-transform:uppercase}.section-title{font-family:"Noto Serif JP",serif;font-size:clamp(1.6rem,3.5vw,2.4rem);font-weight:600;line-height:1.5;margin-bottom:1.5rem;letter-spacing:.08em}.section-desc{font-size:1rem;color:var(--sumi-light);max-width:640px;line-height:2;margin-bottom:3.5rem}.section-center{text-align:center}.section-center .section-desc{margin-left:auto;margin-right:auto}.reveal{opacity:0;transition:opacity 1s ease-out}.reveal.visible{opacity:1}.reveal-delay-1{transition-delay:.1s}.reveal-delay-2{transition-delay:.2s}.reveal-delay-3{transition-delay:.3s}.reveal-delay-4{transition-delay:.4s}.lead-text{font-family:"Noto Serif JP",serif;font-size:clamp(.95rem,2vw,1.1rem);font-weight:400;line-height:2.2;color:var(--sumi-light);max-width:680px;margin:0 auto;letter-spacing:.04em}.why-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.25rem;max-width:900px;margin:0 auto}.why-card{background:var(--shiro);border:1px solid var(--border);border-radius:2px;padding:2rem 2.25rem;text-align:left;transition:var(--transition);border-left:3px solid transparent}.why-card:hover{border-left-color:var(--kaki)}.why-number{font-family:Noto Sans JP,sans-serif;font-size:.7rem;font-weight:600;color:var(--hai);letter-spacing:.1em;margin-bottom:.75rem}.why-card p{font-size:.95rem;line-height:1.8;color:var(--sumi-light)}.pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}.pillar-card{background:var(--shiro);border:1px solid var(--border);border-radius:2px;padding:2.5rem 2rem;text-align:left;position:relative;overflow:hidden;transition:var(--transition)}.pillar-card.env{border-top:2px solid var(--matcha)}.pillar-card.gastro{border-top:2px solid var(--kitsune)}.pillar-card.economy{border-top:2px solid var(--ai)}.pillar-card:hover{box-shadow:0 2px 12px #0000000a}.pillar-watermark{position:absolute;top:1rem;right:1rem;font-family:"Noto Serif JP",serif;font-size:5rem;font-weight:700;color:var(--sumi);opacity:.04;line-height:1;pointer-events:none;user-select:none}.pillar-tag{font-size:.7rem;font-weight:600;letter-spacing:.15em;margin-bottom:.5rem;text-transform:uppercase}.pillar-card.env .pillar-tag{color:var(--matcha)}.pillar-card.gastro .pillar-tag{color:var(--kitsune)}.pillar-card.economy .pillar-tag{color:var(--ai)}.pillar-card h3{font-family:"Noto Serif JP",serif;font-size:1.25rem;font-weight:600;margin-bottom:.5rem}.pillar-card .definition{font-size:.85rem;color:var(--hai);margin-bottom:1.5rem;padding-bottom:1.5rem;border-bottom:1px solid var(--border)}.pillar-card ul{list-style:none}.pillar-card li{padding:.4rem 0 .4rem 1.2rem;position:relative;font-size:.9rem;color:var(--sumi-light)}.pillar-card li:before{content:"\30fb";position:absolute;left:0;color:var(--hai)}.purpose-block{max-width:700px;margin:0 auto}.purpose-quote{border-left:1px solid var(--kaki);padding-left:2rem;text-align:left}.purpose-quote p{font-size:1.05rem;line-height:2.2;color:var(--sumi-light)}.activity-list{max-width:700px;margin:0 auto;text-align:left}.activity-item{display:flex;align-items:baseline;gap:1.5rem;padding:1.25rem 0;border-bottom:1px solid var(--border)}.activity-num{font-family:Noto Sans JP,sans-serif;font-size:.75rem;font-weight:600;color:var(--hai);letter-spacing:.05em;flex-shrink:0}.activity-text{font-size:.95rem;color:var(--sumi-light);line-height:1.8}.cert-list{max-width:700px;margin:0 auto 2rem;text-align:left}.cert-item{display:flex;align-items:baseline;gap:1rem;padding:1rem 0;border-bottom:1px solid var(--border)}.cert-dash{color:var(--kaki);font-weight:600;flex-shrink:0}.cert-item p{font-size:.92rem;color:var(--sumi-light)}.cert-footnote{max-width:700px;margin:1.5rem auto 0;font-size:.75rem;color:var(--hai);text-align:left}.pricing-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;align-items:stretch}.pricing-card{background:var(--shiro);border:1px solid var(--border);border-radius:2px;padding:2.5rem 2rem;text-align:center;position:relative;transition:var(--transition)}.pricing-card:hover{box-shadow:0 2px 12px #0000000a}.pricing-card[data-grade]:after{content:attr(data-grade);position:absolute;bottom:1rem;right:1rem;font-family:"Noto Serif JP",serif;font-size:5rem;font-weight:700;color:var(--sumi);opacity:.04;line-height:1;pointer-events:none;user-select:none}.pricing-card.featured{border-top:4px solid var(--kaki)}.pricing-badge{position:absolute;top:-12px;left:50%;transform:translate(-50%);background:var(--kaki);color:#fff;font-size:.7rem;font-weight:600;letter-spacing:.1em;padding:3px 14px;border-radius:2px}.pricing-label{font-family:"Noto Serif JP",serif;font-size:.9rem;font-weight:600;margin-bottom:1.5rem;color:var(--sumi)}.pricing-price{font-family:Noto Sans JP,sans-serif;font-size:2.2rem;font-weight:600;margin-bottom:.25rem;color:var(--sumi)}.pricing-price-group{margin-bottom:.25rem}.pricing-price-row{font-size:.9rem;color:var(--sumi-light);padding:.2rem 0}.pricing-price-row strong{font-family:Noto Sans JP,sans-serif;font-size:1.6rem;font-weight:600;color:var(--sumi)}.pricing-price-detail{font-size:.75rem;color:var(--hai);margin-bottom:.5rem}.pricing-price .unit{font-size:.85rem;font-weight:400;color:var(--hai)}.pricing-desc{font-size:.82rem;color:var(--hai);margin-bottom:2rem;padding-bottom:2rem;border-bottom:1px solid var(--border)}.pricing-features{list-style:none;text-align:left}.pricing-features li{font-size:.85rem;color:var(--sumi-light);padding:.5rem 0 .5rem 1.2rem;position:relative}.pricing-features li:before{content:"\30fb";position:absolute;left:0;color:var(--hai)}.about-grid{max-width:800px;margin:0 auto;background:var(--shiro);border-radius:2px;border:1px solid var(--border);overflow:hidden}.about-row{display:grid;grid-template-columns:180px 1fr;align-items:center;transition:var(--transition)}.about-row:hover{background:var(--kinari)}.about-row:not(:last-child){border-bottom:1px solid var(--border)}.about-label{font-family:"Noto Serif JP",serif;padding:1.5rem 2rem;font-weight:600;font-size:.85rem;color:var(--hai);letter-spacing:.05em;background:var(--kinari)}.about-value{padding:1.5rem 2rem;font-size:.95rem}.members-heading{font-family:"Noto Serif JP",serif;font-size:1.1rem;font-weight:600;letter-spacing:.08em;margin:3rem auto 1.5rem;max-width:800px}.members-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;max-width:800px;margin:0 auto;text-align:left}.members-group h4{font-family:"Noto Serif JP",serif;font-size:.85rem;font-weight:600;color:var(--sumi);letter-spacing:.05em;margin-bottom:.75rem;padding-bottom:.5rem;border-bottom:1px solid var(--border)}.member-row{display:flex;justify-content:space-between;align-items:baseline;padding:.4rem 0;font-size:.85rem}.member-role{color:var(--hai);flex-shrink:0}.member-name{color:var(--sumi);text-align:right}.contact-wrapper{display:grid;grid-template-columns:1fr 1.2fr;gap:4rem;max-width:1000px;margin:0 auto;align-items:start}.contact-info h3{font-family:"Noto Serif JP",serif;font-size:1.5rem;font-weight:600;margin-bottom:1rem}.contact-info p{color:var(--sumi-light);font-size:.95rem;line-height:2;margin-bottom:2rem}.contact-detail{padding:1rem 0;border-top:1px solid var(--border)}.contact-detail-text{font-size:.85rem}.contact-detail-text strong{display:block;margin-bottom:2px}.contact-detail-text span{color:var(--hai)}.contact-form{background:var(--shiro);border-radius:2px;padding:2.5rem;border:1px solid var(--border)}.form-group{margin-bottom:1.5rem}.form-group label{display:block;font-size:.85rem;font-weight:600;margin-bottom:.5rem;color:var(--sumi);transition:color .3s ease}.form-group:focus-within label{color:var(--kaki)}.required-badge{display:inline-block;font-size:.65rem;font-weight:700;background:none;color:#c0392b;padding:0;margin-left:4px;vertical-align:middle}.optional-badge{display:inline-block;font-size:.65rem;font-weight:600;color:var(--hai);border:1px solid var(--border);padding:1px 6px;border-radius:2px;margin-left:6px;vertical-align:middle}input[type=text],input[type=email],select,textarea{width:100%;padding:12px 16px;border:1px solid var(--border);border-radius:2px;font-size:.92rem;font-family:inherit;transition:var(--transition);background:var(--kinari);color:var(--sumi)}input[type=text]:focus-visible,input[type=email]:focus-visible,select:focus-visible,textarea:focus-visible{outline:none;border-color:var(--kaki);background:var(--shiro)}select{appearance:none;-webkit-appearance:none;background-image:url("data:text/plain;charset=utf-8,data:image/svg+xml,%253Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%253E%253Cpath d='M1 1l5 5 5-5' stroke='%2523685F59' stroke-width='1.5' fill='none'/%253E%253C/svg%253E");background-repeat:no-repeat;background-position:right 16px center;padding-right:40px}textarea{resize:vertical;min-height:130px}.checkbox-group{display:flex;align-items:center;gap:10px}.checkbox-group input[type=checkbox]{width:20px;height:20px;accent-color:var(--kaki);cursor:pointer}.checkbox-group label{font-weight:400;font-size:.85rem;color:var(--sumi-light);margin-bottom:0}.submit-btn{width:100%;padding:14px;background:var(--sumi);color:var(--kinari);border:none;border-radius:2px;font-size:1rem;font-weight:600;cursor:pointer;transition:var(--transition);letter-spacing:.02em}.submit-btn:hover{background:var(--kaki);color:#fff}.form-success{padding:2rem;text-align:center;color:var(--kaki);font-size:1rem;line-height:1.8}footer{background:var(--sumi-deep);color:var(--kinari);padding:4rem var(--space-gutter) 2rem;border-top:3px solid var(--kaki)}.footer-inner{max-width:var(--max-width);margin:0 auto}.footer-top{display:flex;justify-content:space-between;align-items:flex-start;padding-bottom:3rem;border-bottom:1px solid rgba(245,240,232,.1);gap:2rem;flex-wrap:wrap}.footer-brand{display:flex;align-items:center;gap:10px;font-family:"Noto Serif JP",serif;font-weight:700;font-size:.95rem;letter-spacing:.08em}.footer-brand img{height:28px;width:auto;filter:brightness(0) invert(1)}.footer-links{display:flex;gap:2rem}.footer-links a{color:#f5f0e880;text-decoration:none;font-size:.82rem;transition:color .3s}.footer-links a:hover{color:var(--kinari)}.footer-links a small{font-size:.6rem;letter-spacing:.08em;opacity:.5}.footer-policy{padding:2rem 0;border-bottom:1px solid rgba(245,240,232,.1)}.footer-policy p{font-size:.8rem;color:#f5f0e866;line-height:1.8}.footer-policy strong{color:#f5f0e899}.footer-bottom{padding-top:2rem;text-align:center;font-size:.75rem;color:#f5f0e84d}@media (max-width: 900px){.pillars,.why-grid{grid-template-columns:1fr}.pricing-grid{grid-template-columns:1fr;max-width:400px;margin:0 auto}.contact-wrapper{grid-template-columns:1fr;gap:2rem}.members-grid{grid-template-columns:1fr}.nav-links{display:none}.hamburger{display:flex}.hero-watermark{font-size:clamp(3rem,8vw,5rem);opacity:.04;right:3%}}@media (max-width: 600px){.section{padding:var(--space-section-sm) var(--space-gutter-sm)}.hero{padding:7rem var(--space-gutter-sm) 5rem}.hero h1{font-size:clamp(1.8rem,7vw,2.8rem)}.hero-watermark{font-size:3rem;opacity:.04}.about-row{grid-template-columns:1fr}.about-label{padding:1rem 1.5rem .25rem}.about-value{padding:.25rem 1.5rem 1rem}.contact-form{padding:1.5rem}.footer-top{flex-direction:column}.footer-links{flex-wrap:wrap;gap:1rem}.activity-item{gap:1rem}.purpose-quote{padding-left:1.25rem}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.reveal,.hero-logo,.hero h1,.hero-subtitle{opacity:1}}
