.mobile-menu-backdrop{position:fixed;top:0;left:0;width:100%;height:100vh;background:#05201866;backdrop-filter:blur(4px);z-index:3500;opacity:0;pointer-events:none;transition:opacity .4s ease}.mobile-menu-backdrop.active{opacity:1;pointer-events:all}@media(max-width:768px){.nav{justify-content:space-between;padding:0 20px;height:60px}.nav .sp,.nav-link,.nav-placeholder,.nav .btn{display:none!important}.hamburger{display:flex!important;position:static;transform:none}.header-logo{margin:0}.header-logo img{height:36px!important}}header[data-astro-cid-3ef6ksr2]{position:sticky;top:0;background:#ffffffd9;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid rgba(22,97,78,.08);z-index:1200}.nav[data-astro-cid-3ef6ksr2]{display:flex;gap:32px;align-items:center;font-weight:500;font-size:15px;color:var(--text);letter-spacing:.03em;height:72px}.nav[data-astro-cid-3ef6ksr2] a[data-astro-cid-3ef6ksr2]:not(.btn):hover{color:var(--sea)}.nav[data-astro-cid-3ef6ksr2] .sp[data-astro-cid-3ef6ksr2]{flex:1}.nav[data-astro-cid-3ef6ksr2] .header-logo[data-astro-cid-3ef6ksr2] img[data-astro-cid-3ef6ksr2]{height:44px;vertical-align:middle;transition:transform .3s ease}.header-logo[data-astro-cid-3ef6ksr2]:hover img[data-astro-cid-3ef6ksr2]{transform:scale(1.05)}.hamburger[data-astro-cid-3ef6ksr2]{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:12px;position:absolute;right:16px;top:50%;transform:translateY(-50%);z-index:4200;width:48px;height:48px;justify-content:center;align-items:center;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.hamburger[data-astro-cid-3ef6ksr2] span[data-astro-cid-3ef6ksr2]{width:22px;height:2px;background:var(--ink);transition:all .3s ease;border-radius:4px}.hamburger[data-astro-cid-3ef6ksr2].active span[data-astro-cid-3ef6ksr2]:nth-child(1){transform:rotate(45deg) translate(5px,5px)}.hamburger[data-astro-cid-3ef6ksr2].active span[data-astro-cid-3ef6ksr2]:nth-child(2){opacity:0}.hamburger[data-astro-cid-3ef6ksr2].active span[data-astro-cid-3ef6ksr2]:nth-child(3){transform:rotate(-45deg) translate(5px,-5px)}.mobile-menu[data-astro-cid-3ef6ksr2]{position:fixed;top:0;right:-100%;width:85%;max-width:320px;height:100vh;background:#fff;box-shadow:-8px 0 30px #0000001a;z-index:4000;transition:right .4s cubic-bezier(.16,1,.3,1);padding-top:80px;pointer-events:none}.mobile-menu[data-astro-cid-3ef6ksr2].active{right:0;pointer-events:auto}.mobile-menu-content[data-astro-cid-3ef6ksr2]{display:flex;flex-direction:column;gap:8px;padding:24px;height:100%;overflow-y:auto}.mobile-menu-group[data-astro-cid-3ef6ksr2]{display:flex;flex-direction:column;gap:8px;padding:0 12px}.mobile-menu-link[data-astro-cid-3ef6ksr2]{display:block;padding:14px 16px;color:var(--ink);font-weight:600;border-radius:12px;background:transparent;transition:all .2s ease;text-decoration:none}.mobile-menu-link[data-astro-cid-3ef6ksr2]:hover,.mobile-menu-link[data-astro-cid-3ef6ksr2]:active{background:var(--mint);color:var(--sea)}.mobile-menu-logo[data-astro-cid-3ef6ksr2]{padding:0 28px 20px;text-align:left}.mobile-menu-divider[data-astro-cid-3ef6ksr2]{height:1px;background:var(--line);margin:12px 24px;opacity:.6}.mobile-menu-cta[data-astro-cid-3ef6ksr2]{background:var(--sea)!important;color:#fff!important;text-align:center;margin-top:12px;box-shadow:0 4px 12px #16614e33}.mobile-menu-cta[data-astro-cid-3ef6ksr2]:active,.mobile-menu-cta-outline[data-astro-cid-3ef6ksr2]:active{transform:scale(.98)}.mobile-menu-cta-outline[data-astro-cid-3ef6ksr2]{background:#fff!important;border:2px solid var(--sea)!important;color:var(--sea)!important;text-align:center;margin-top:12px}.btn-flash[data-astro-cid-3ef6ksr2]{position:relative;overflow:hidden;animation:btnFlashPulse 2.6s ease-in-out infinite;transition:transform .28s cubic-bezier(.34,1.56,.64,1),box-shadow .3s ease;will-change:transform,box-shadow}.btn-flash[data-astro-cid-3ef6ksr2]:before{content:"";position:absolute;top:0;left:-120%;width:60%;height:100%;background:linear-gradient(100deg,transparent 0%,rgba(255,255,255,.45) 50%,transparent 100%);transform:skew(-20deg);transition:left .7s ease;pointer-events:none}.btn-flash[data-astro-cid-3ef6ksr2]:hover{transform:translateY(-3px) scale(1.07);box-shadow:0 10px 28px #16614e80,0 0 0 4px #d4a04d2e;animation-play-state:paused}.btn-flash[data-astro-cid-3ef6ksr2]:hover:before{left:130%}@keyframes btnFlashPulse{0%,to{box-shadow:0 4px 12px #16614e47}50%{box-shadow:0 4px 18px #16614e73,0 0 0 3px #d4a04d24}}@media(prefers-reduced-motion:reduce){.btn-flash[data-astro-cid-3ef6ksr2],.mobile-menu-cta-flash[data-astro-cid-3ef6ksr2]{animation:none}.btn-flash[data-astro-cid-3ef6ksr2]:hover{transform:translateY(-1px)}}.mobile-menu-cta-flash[data-astro-cid-3ef6ksr2]{animation:btnFlashPulse 2.6s ease-in-out infinite}footer[data-astro-cid-sz7xmlte]{background:var(--sea, #16614e);border-top:none;margin-top:0;color:#ffffffd9}.footer-inner[data-astro-cid-sz7xmlte]{max-width:1180px;margin:0 auto;padding:20px 24px;display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;font-size:14px;color:inherit}.footer-links[data-astro-cid-sz7xmlte]{display:flex;gap:14px;flex-wrap:wrap}.footer-links[data-astro-cid-sz7xmlte] a[data-astro-cid-sz7xmlte]{color:#fff;font-weight:700;text-decoration:none;transition:opacity .2s ease}.footer-links[data-astro-cid-sz7xmlte] a[data-astro-cid-sz7xmlte]:hover{opacity:.75}@font-face{font-family:CraftMincho;src:url(/assets/fonts/craftmincho.woff2) format("woff2"),url(/assets/fonts/craftmincho.otf) format("opentype");font-weight:400;font-style:normal;font-display:swap}:root{--green: #0b3326;--mint: #eef7f3;--mint-dark: #c8e1d6;--cream: #fbf9f5;--white: #ffffff;--accent: #d4a04d;--orange: #f2bd78;--text: #1a2e28;--text-light: #486358;--ink: #052018;--line: #dbebe3;--line-strong: #bfd6cc;--sea: #16614e;--shadow-sm: 0 2px 4px rgba(5, 32, 24, .04), 0 1px 2px rgba(5, 32, 24, .02);--shadow-md: 0 8px 16px rgba(5, 32, 24, .06), 0 4px 8px rgba(5, 32, 24, .03);--shadow-lg: 0 24px 48px rgba(5, 32, 24, .08), 0 12px 24px rgba(5, 32, 24, .04);--glass: rgba(255, 255, 255, .8);--glass-border: rgba(255, 255, 255, .4)}html{scroll-behavior:smooth}*,*:before,*:after{box-sizing:border-box}body{margin:0;font-family:Noto Sans JP,Space Grotesk,Helvetica Neue,Arial,sans-serif;color:var(--text);background:var(--cream)}h1,h2,h3,h4{margin:0;color:var(--ink);font-family:CraftMincho,serif;font-feature-settings:"palt";letter-spacing:.05em}h1{font-size:clamp(40px,6vw,64px);line-height:1.15}h2{font-size:clamp(28px,4vw,42px);line-height:1.3;margin-bottom:16px}h3{font-size:20px;line-height:1.5;font-weight:600}p{line-height:1.8;letter-spacing:.02em;color:var(--text-light)}a{text-decoration:none;color:inherit;transition:color .2s ease}img{max-width:100%;display:block}section{padding:100px 0;position:relative}.section-head{text-align:center;margin-bottom:72px;position:relative}.section-head small{display:inline-block;color:var(--accent);font-weight:600;text-transform:uppercase;letter-spacing:.15em;margin-bottom:16px;font-family:Space Grotesk,sans-serif;font-size:12px}.section-head p{max-width:600px;margin:0 auto;color:var(--text-light)}.container{max-width:1240px;margin:0 auto;padding:0 32px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:16px 36px;border-radius:100px;border:none;background:var(--sea);color:#fff;font-weight:700;font-size:15px;box-shadow:0 4px 12px #16614e40;letter-spacing:.05em;transition:all .3s cubic-bezier(.16,1,.3,1);position:relative;overflow:hidden;cursor:pointer}.btn:hover{transform:translateY(-2px);box-shadow:0 8px 20px #16614e59;background:#0f4d3d;filter:none}.btn.secondary{background:transparent;border:1px solid var(--text-light);color:var(--text);box-shadow:none}.btn.secondary:hover{border-color:var(--sea);color:var(--sea);background:#16614e08;box-shadow:none}.btn.btn-outline{background:#fff;border:2px solid var(--sea);color:var(--sea);box-shadow:none}.btn.btn-outline:hover{background:var(--sea);color:#fff;box-shadow:0 4px 12px #16614e40}.card{background:#fff;border:1px solid #eef2f0;border-radius:24px;padding:32px;box-shadow:0 10px 25px #00000005,0 20px 45px #0000000f;transition:.25s transform,.25s box-shadow}.card:hover{transform:translateY(-4px);box-shadow:0 10px 25px #00000005,0 28px 60px #00000017}.mini{font-size:14px;color:var(--text-light);line-height:1.8}.card .mini{color:#486358}.bg-gradient-soft{background:linear-gradient(180deg,#fbfaf8,#f5f9f7)}.bg-contact{background:linear-gradient(180deg,#f5f9f7,#e6f3ed)}#values .promise-number{font-size:4rem;font-weight:700;color:var(--mint);line-height:1;margin-bottom:.2em;font-family:CraftMincho,serif}.split-layout{display:grid;gap:32px;align-items:center;margin-top:28px}@media(min-width:880px){.split-layout{grid-template-columns:1fr 1fr;gap:48px}.split-layout.reverse>*:first-child{grid-column-start:2}.split-layout.reverse>*:last-child{grid-column-start:1;grid-row-start:1}}.split-layout .img-container{border-radius:24px;overflow:hidden;box-shadow:var(--shadow-md);position:relative}.split-layout .img-container img{display:block;width:100%;height:100%;object-fit:cover;transition:.3s transform}.split-layout .img-container:hover img{transform:scale(1.03)}#brand-story .story-container{max-width:680px;margin:0 auto}#brand-story .story-text-blocks{display:flex;flex-direction:column;gap:1.5em;text-align:left;background-color:var(--cream);border:1px solid var(--line);border-radius:12px;padding:32px;box-shadow:0 8px 20px #0000000d;line-height:1.8}#brand-story .story-lead{font-size:22px;font-weight:700;color:var(--ink);margin-bottom:16px;text-align:center}.fade-up{opacity:1;transform:translateY(0);transition:opacity .6s ease-out,transform .6s ease-out}.fade-up.pending{opacity:0;transform:translateY(30px)}.faq .faq-items{max-width:800px;margin:0 auto}.faq details{border:1px solid var(--line);border-radius:16px;padding:20px 24px;background:#fff;margin-bottom:12px;position:relative}.faq summary{cursor:pointer;font-weight:700;color:var(--ink);font-size:17px;padding-right:60px;position:relative;list-style:none}.faq summary::-webkit-details-marker{display:none}.faq summary:before{content:"→";position:absolute;right:40px;top:50%;transform:translateY(-50%);font-size:15px;font-weight:700;color:var(--accent, #d4a04d);opacity:.75;animation:faq-arrow-nudge 1.6s ease-in-out infinite;transition:opacity .3s ease}@keyframes faq-arrow-nudge{0%,to{transform:translateY(-50%) translate(0)}50%{transform:translateY(-50%) translate(5px)}}.faq summary:after{content:"";position:absolute;right:0;top:50%;transform:translateY(-50%);width:32px;height:32px;border-radius:50%;background-color:var(--sea);border:1.5px dotted #fff;background-image:radial-gradient(circle at 38% 50%,#fff 1.5px,transparent 2px),radial-gradient(circle at 62% 50%,#fff 1.5px,transparent 2px);background-repeat:no-repeat;outline:1.5px solid var(--sea);outline-offset:0;box-shadow:none;transition:all .3s cubic-bezier(.175,.885,.32,1.275)}.faq details[open] summary:before{opacity:0;animation:none}.faq details[open] summary:after{width:48px;height:48px;background-color:transparent;border:none;outline:none;box-shadow:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23d4a04d' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'><polyline points='4 12 10 18 20 6'/></svg>");background-size:100% 100%;background-repeat:no-repeat;background-position:center;transform:translateY(-50%);animation:faq-check-pop .45s cubic-bezier(.34,1.56,.64,1)}@keyframes faq-check-pop{0%{transform:translateY(-50%) scale(0);opacity:0}60%{transform:translateY(-50%) scale(1.2);opacity:1}to{transform:translateY(-50%) scale(1);opacity:1}}.faq details p,.faq details .faq-a{margin-top:16px;margin-bottom:0;line-height:1.8;color:var(--text-light);font-size:15px}.faq details a{color:#1a6bb5;text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px;transition:color .2s ease}.faq details a:hover{color:#124a7e}@media(max-width:768px){h1{font-size:34px}h2{font-size:28px}section{padding:60px 16px}.nav{justify-content:center;position:relative}#vision .card[style*=grid-template-columns]{grid-template-columns:1fr!important;gap:16px!important}#vision .card[style*=grid-template-columns]>div:first-child{width:100px!important;height:100px!important;margin:0 auto}#vision .img-container{min-height:300px!important;position:relative!important}#vision .img-container img{position:absolute!important;top:0;left:0;width:100%!important;height:100%!important;object-fit:cover}}.faq .section-head{margin-bottom:18px}.faq{position:relative;overflow:visible}.faq-progress{position:sticky;top:92px;z-index:5;max-width:720px;margin:0 auto 18px;padding:14px 18px 12px;text-align:center;background:#fffef8f5;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-radius:16px;border:2px solid var(--accent);box-shadow:0 6px 20px #d4a04d38,0 2px 6px #0520180f}.faq-progress-lead{font-size:13.5px;color:var(--ink);line-height:1.6;margin:0 0 10px;font-weight:700}.faq-collection{display:flex;flex-wrap:nowrap;justify-content:center;gap:8px}.faq-slot{position:relative;width:38px;height:38px;border-radius:50%;background:transparent;border:1.5px dashed #cbd9d2;cursor:pointer;padding:5px;display:flex;align-items:center;justify-content:center;transition:transform .25s ease,border-color .25s ease;-webkit-tap-highlight-color:transparent;flex:0 0 auto}.faq-slot:hover{transform:scale(1.1);border-color:var(--sea)}.faq-slot:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.faq-slot-button{display:block;width:100%;height:100%;border-radius:50%;background:transparent;transition:all .4s cubic-bezier(.34,1.56,.64,1)}.faq-slot.is-collected{border-color:transparent}.faq-slot.is-collected .faq-slot-button{background-color:var(--sea);border:1.5px dotted #fff;outline:1.5px solid var(--sea);outline-offset:0;background-image:radial-gradient(circle at 38% 50%,#fff 1.3px,transparent 1.8px),radial-gradient(circle at 62% 50%,#fff 1.3px,transparent 1.8px);background-repeat:no-repeat;box-shadow:0 4px 10px #16614e40;animation:faq-slot-pop-loud .85s cubic-bezier(.34,1.56,.64,1)}@keyframes faq-slot-pop-loud{0%{transform:scale(0) rotate(0);box-shadow:0 0 #16614e00}40%{transform:scale(1.4) rotate(360deg);box-shadow:0 0 24px 4px #d4a04da6}70%{transform:scale(.92) rotate(540deg);box-shadow:0 0 14px 2px #16614e66}to{transform:scale(1) rotate(720deg);box-shadow:0 4px 10px #16614e40}}.faq-slot.is-collected:before,.faq-slot.is-collected:after{content:"✦";position:absolute;color:var(--accent);font-size:11px;font-weight:700;pointer-events:none;opacity:0;animation:faq-slot-sparkle .9s ease-out}.faq-slot.is-collected:before{top:-6px;left:-2px;animation-delay:.15s}.faq-slot.is-collected:after{bottom:-6px;right:-2px;animation-delay:.3s}@keyframes faq-slot-sparkle{0%{opacity:0;transform:scale(0) rotate(0)}40%{opacity:1;transform:scale(1.4) rotate(180deg)}to{opacity:0;transform:scale(.4) rotate(360deg)}}@media(max-width:480px){.faq-progress{top:76px;padding:12px 14px 10px}.faq-collection{flex-wrap:wrap;max-width:280px;margin:0 auto}.faq-slot{width:34px;height:34px;padding:4px}}.faq-complete-popup[hidden]{display:none}.faq-complete-popup{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;padding:20px;animation:faq-popup-fade-in .35s ease}.popup-overlay{position:absolute;inset:0;background:#0520188c;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);cursor:pointer}.popup-card{position:relative;background:#fff;border-radius:24px;padding:32px 28px 26px;max-width:440px;width:100%;text-align:center;box-shadow:0 24px 60px #00000052;animation:faq-popup-pop .55s cubic-bezier(.34,1.56,.64,1)}.popup-close{position:absolute;top:10px;right:10px;width:36px;height:36px;border-radius:50%;background:transparent;border:none;font-size:22px;line-height:1;cursor:pointer;color:var(--text-light);transition:background .2s ease}.popup-close:hover{background:var(--mint);color:var(--ink)}.popup-card img{display:block;width:100%;max-width:320px;height:auto;margin:4px auto 18px;border-radius:18px}.popup-card h3{font-size:19px;margin:0 0 12px;color:var(--ink);line-height:1.5}.popup-card p{font-size:14px;color:var(--text-light);line-height:1.85;margin:0}.popup-card a{color:var(--sea);font-weight:700;text-decoration:underline;text-underline-offset:2px}@keyframes faq-popup-fade-in{0%{opacity:0}to{opacity:1}}@keyframes faq-popup-pop{0%{transform:scale(.7);opacity:0}60%{transform:scale(1.04);opacity:1}to{transform:scale(1);opacity:1}}.confetti-container{position:fixed;inset:0;pointer-events:none;z-index:9998;overflow:hidden}.confetti-piece{position:absolute;top:-24px;width:10px;height:14px;border-radius:2px;animation:confetti-fall linear forwards}@keyframes confetti-fall{0%{transform:translateY(0) rotate(0);opacity:1}to{transform:translateY(110vh) rotate(720deg);opacity:.8}}@media(prefers-reduced-motion:reduce){.faq-slot.is-collected .faq-slot-button{animation:none}.faq-slot.is-collected:before,.faq-slot.is-collected:after{animation:none;opacity:0}.popup-card{animation:none}.confetti-piece{display:none}}
