@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&family=Noto+Sans+JP:wght@300;400;500;700;900&display=swap";:root{--azuki-900: #4A2022;--azuki-800: #5A282A;--azuki-700: #6B2F32;--azuki-600: #76383B;--azuki-500: #8A4548;--azuki-400: #A85A5D;--bg-ivory: #F5EFE6;--bg-cream: #EFE7DA;--bg-beige: #E8DCC9;--bg-paper: #FAF6EF;--text-primary: #1A1614;--text-secondary: #4A423E;--text-muted: #8A807A;--text-inverse: #F5EFE6;--accent: var(--azuki-700);--accent-hover: var(--azuki-600);--space-xs: .5rem;--space-sm: 1rem;--space-md: 2rem;--space-lg: 4rem;--space-xl: 8rem;--space-2xl: 12rem;--font-sans: "Inter", "Noto Sans JP", system-ui, -apple-system, sans-serif;--font-display: "Inter", "Noto Sans JP", system-ui, sans-serif;--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-in-out: cubic-bezier(.65, 0, .35, 1)}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{font-size:100%;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;scroll-behavior:smooth}body{font-family:var(--font-sans);background-color:var(--bg-ivory);color:var(--text-primary);line-height:1.5;overflow-x:hidden;font-weight:400;-webkit-text-size-adjust:100%}a{color:inherit;text-decoration:none}img,svg{display:block;max-width:100%}::selection{background:var(--azuki-700);color:var(--bg-ivory)}.container{width:100%;max-width:1400px;margin:0 auto;padding:0 2rem}@media (max-width: 768px){.container{padding:0 1.25rem}}section{position:relative}.nav{position:fixed;top:0;left:0;right:0;z-index:100;padding:1.25rem 2rem;display:flex;align-items:center;justify-content:space-between;transition:background-color .4s var(--ease-out),padding .4s var(--ease-out)}.nav.scrolled{background:#f5efe6d9;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);padding:.75rem 2rem;border-bottom:1px solid rgba(107,47,50,.08)}.nav-brand{display:flex;align-items:center;width:154px;transition:opacity .3s var(--ease-out)}.nav-brand:hover{opacity:.72}.nav-brand img{width:100%;height:auto;display:block}.nav-links{display:flex;gap:2rem;list-style:none}.nav-links a{font-size:.8rem;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--text-secondary);transition:color .3s var(--ease-out);position:relative}.nav-links a:after{content:"";position:absolute;bottom:-4px;left:0;width:0;height:1px;background:var(--azuki-700);transition:width .3s var(--ease-out)}.nav-links a:hover{color:var(--azuki-700)}.nav-links a:hover:after{width:100%}@media (max-width: 768px){.nav{padding:1rem 1.25rem}.nav.scrolled{padding:.625rem 1.25rem}.nav-links{gap:1rem}.nav-links a{font-size:.7rem}}@media (max-width: 520px){.nav-links{gap:.75rem}.nav-links a{font-size:.65rem}}.hero{min-height:100vh;min-height:100dvh;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;background:var(--bg-ivory);padding:7rem 2rem 5rem}.hero:before{content:"";position:absolute;top:12%;right:8%;bottom:12%;left:8%;border:1px solid rgba(107,47,50,.08);border-radius:50%;transform:rotate(-12deg) scaleX(1.2);pointer-events:none;animation:breathe 8s var(--ease-in-out) infinite}@keyframes breathe{0%,to{transform:rotate(-12deg) scaleX(1.2) scale(1);opacity:1}50%{transform:rotate(-10deg) scaleX(1.25) scale(1.03);opacity:.7}}.hero-mark{position:absolute;z-index:0;pointer-events:none;opacity:.08}.hero-mark img{width:100%;height:auto}.hero-mark-left{width:clamp(180px,20vw,320px);left:-4vw;bottom:10%;transform:rotate(-12deg);animation:drift 12s var(--ease-in-out) infinite}@keyframes drift{0%,to{transform:rotate(-12deg) translateY(0)}50%{transform:rotate(-9deg) translateY(-16px)}}.hero-content{position:relative;z-index:1;text-align:center;width:100%;max-width:720px;display:flex;flex-direction:column;align-items:center}.hero-kicker{color:var(--azuki-700);font-size:.72rem;font-weight:500;letter-spacing:.2em;text-transform:uppercase;margin-bottom:2.5rem;opacity:0;animation:fadeUp .9s var(--ease-out) .15s forwards}.hero-brand-image{width:min(52vw,560px);height:auto;max-width:100%;opacity:0;animation:fadeUp 1.1s var(--ease-out) .3s forwards,float 6s var(--ease-in-out) 1.5s infinite}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.hero-description{margin-top:2.75rem;color:var(--text-secondary);font-size:.85rem;letter-spacing:.04em;opacity:0;animation:fadeUp .9s var(--ease-out) .75s forwards}.hero-location{margin-top:.6rem;color:var(--text-muted);font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;opacity:0;animation:fadeUp .9s var(--ease-out) .9s forwards}.hero-scroll{position:absolute;bottom:2rem;left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:.5rem;opacity:0;animation:fadeIn 1s var(--ease-out) 1.5s forwards}.hero-scroll-text{font-size:.65rem;letter-spacing:.2em;text-transform:uppercase;color:var(--text-muted)}.hero-scroll-line{width:1px;height:40px;background:var(--azuki-700);opacity:.3;position:relative;overflow:hidden}.hero-scroll-line:after{content:"";position:absolute;top:-100%;left:0;width:100%;height:50%;background:var(--azuki-700);animation:scrollLine 2s var(--ease-in-out) infinite}@keyframes scrollLine{0%{top:-50%}to{top:100%}}@keyframes fadeUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@media (max-width: 768px){.hero{padding:6rem 1.25rem 4rem}.hero:before{top:16%;right:-20%;bottom:16%;left:-20%}.hero-brand-image{width:min(78vw,440px)}.hero-kicker{margin-bottom:2rem}.hero-description{max-width:260px;line-height:1.6}.hero-mark-left{width:190px;left:-16vw;bottom:14%}}.about{padding:var(--space-2xl) 0;background:var(--bg-ivory)}.about-label{font-size:.75rem;font-weight:500;letter-spacing:.15em;text-transform:uppercase;color:var(--azuki-700);margin-bottom:3rem;display:flex;align-items:center;gap:.75rem}.about-label:before{content:"";width:24px;height:1px;background:var(--azuki-700)}.about-layout{display:grid;grid-template-columns:1fr auto;gap:4rem;align-items:end}.about-copy{font-size:clamp(2.5rem,7vw,5.5rem);font-weight:700;line-height:1.1;letter-spacing:-.03em;color:var(--text-primary);max-width:1000px}.about-copy .line{display:block;overflow:hidden}.about-copy .line-inner{display:inline-block;opacity:0;transform:translateY(100%);transition:opacity .8s var(--ease-out),transform .8s var(--ease-out)}.about-copy .line.reveal .line-inner{opacity:1;transform:translateY(0)}.about-copy .accent,.about-copy .dot{color:var(--azuki-700)}.about-description{margin-top:3rem;font-size:1rem;line-height:1.8;color:var(--text-secondary);max-width:480px;font-weight:400}@media (max-width: 768px){.about{padding:var(--space-xl) 0}.about-layout{grid-template-columns:1fr;gap:2.5rem}.about-description{font-size:.9rem}}.business{padding:var(--space-2xl) 0;background:var(--bg-cream);position:relative}.section-header{margin-bottom:4rem}.section-label{font-size:.75rem;font-weight:500;letter-spacing:.15em;text-transform:uppercase;color:var(--azuki-700);display:flex;align-items:center;gap:.75rem;margin-bottom:1rem}.section-label:before{content:"";width:24px;height:1px;background:var(--azuki-700)}.section-title{font-size:clamp(2rem,5vw,3.5rem);font-weight:700;letter-spacing:-.03em;line-height:1.1;color:var(--text-primary)}.business-list{list-style:none;border-top:1px solid rgba(107,47,50,.15)}.business-item{border-bottom:1px solid rgba(107,47,50,.15);padding:2.5rem 0;display:grid;grid-template-columns:80px 1fr 2fr;gap:2rem;align-items:baseline;cursor:default;transition:padding-left .4s var(--ease-out),background-color .4s var(--ease-out);position:relative}.business-item:hover{padding-left:1.5rem;background:#6b2f3208}.business-item:before{content:"";position:absolute;left:0;top:50%;width:0;height:1px;background:var(--azuki-700);transition:width .4s var(--ease-out)}.business-item:hover:before{width:1rem}.business-number{font-size:.8rem;font-weight:500;letter-spacing:.1em;color:var(--text-muted);font-variant-numeric:tabular-nums}.business-name{font-size:clamp(2rem,5vw,3.5rem);font-weight:800;letter-spacing:-.02em;color:var(--text-primary);line-height:1;transition:color .3s var(--ease-out)}.business-item:hover .business-name{color:var(--azuki-700)}.business-desc{font-size:.95rem;line-height:1.7;color:var(--text-secondary);font-weight:400}@media (max-width: 768px){.business{padding:var(--space-xl) 0}.business-item{grid-template-columns:1fr;gap:.75rem;padding:2rem 0}.business-item:hover{padding-left:.75rem}.business-number{font-size:.7rem}}.products{padding:var(--space-2xl) 0;background:var(--bg-ivory)}.products-grid{display:grid;gap:0}.product-card{border-top:1px solid rgba(107,47,50,.15);padding:3rem 0;display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center;position:relative;transition:background-color .4s var(--ease-out)}.product-card:last-child{border-bottom:1px solid rgba(107,47,50,.15)}.product-info{display:flex;flex-direction:column;gap:1.5rem}.product-tag{font-size:.7rem;font-weight:500;letter-spacing:.15em;text-transform:uppercase;color:var(--azuki-700);display:inline-flex;align-items:center;gap:.5rem}.product-tag:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--azuki-700);animation:pulse 2s var(--ease-in-out) infinite}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(1.4)}}.product-name{font-size:clamp(2.5rem,6vw,4.5rem);font-weight:800;letter-spacing:-.03em;line-height:1;color:var(--text-primary)}.product-name-en{font-size:1rem;font-weight:400;letter-spacing:.04em;color:var(--text-muted);margin-top:.5rem}.product-description{font-size:1rem;line-height:1.8;color:var(--text-secondary);max-width:400px}.product-platforms{display:flex;gap:.75rem;margin-top:.5rem}.product-platform{font-size:.7rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);padding:.375rem .75rem;border:1px solid rgba(107,47,50,.2);border-radius:100px}.product-visual{display:flex;align-items:center;justify-content:center;position:relative;min-height:280px}.product-coming{text-align:center;position:relative}.product-coming-label{font-size:.7rem;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--text-muted);margin-bottom:.5rem}.product-coming-date{font-size:clamp(3rem,8vw,5rem);font-weight:900;letter-spacing:-.04em;line-height:1;color:var(--azuki-700);font-variant-numeric:tabular-nums}.product-coming-circle{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:220px;height:220px;border:1px solid rgba(107,47,50,.15);border-radius:50%;z-index:-1}.product-coming-circle-2{width:160px;height:160px;border:1px solid rgba(107,47,50,.1)}.product-terms{display:inline-flex;align-items:center;gap:.4rem;font-size:.8rem;font-weight:500;letter-spacing:.06em;color:var(--azuki-700);padding:.5rem 0;border-bottom:1px solid transparent;transition:border-color .3s var(--ease-out),color .3s var(--ease-out);max-width:max-content}.product-terms:after{content:"→";font-size:.85rem;transition:transform .3s var(--ease-out)}.product-terms:hover{border-bottom-color:var(--azuki-700)}.product-terms:hover:after{transform:translate(4px)}@media (max-width: 768px){.products{padding:var(--space-xl) 0}.product-card{grid-template-columns:1fr;gap:2rem;padding:2.5rem 0}.product-visual{min-height:200px}}.company{padding:var(--space-2xl) 0;background:var(--bg-cream)}.company-info{display:grid;grid-template-columns:200px 1fr;gap:2rem;border-top:1px solid rgba(107,47,50,.15)}.company-row{display:grid;grid-template-columns:200px 1fr;gap:2rem;padding:1.5rem 0;border-bottom:1px solid rgba(107,47,50,.1);align-items:baseline}.company-label{font-size:.75rem;font-weight:500;letter-spacing:.15em;text-transform:uppercase;color:var(--text-muted)}.company-value{font-size:1.1rem;font-weight:500;color:var(--text-primary);line-height:1.6}.company-value-sub{display:block;font-size:.85rem;font-weight:400;color:var(--text-secondary);margin-top:.25rem}@media (max-width: 768px){.company{padding:var(--space-xl) 0}.company-row{grid-template-columns:1fr;gap:.5rem;padding:1.25rem 0}}.footer{padding:4rem 0 2.5rem;background:var(--bg-ivory);border-top:1px solid rgba(107,47,50,.15)}.footer-content{display:flex;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:2rem}.footer-brand{display:flex;flex-direction:column;gap:.75rem}.footer-brand img{width:140px;height:auto;display:block}.footer-brand-location{font-size:.75rem;font-weight:400;letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted)}.footer-links{display:flex;gap:2rem;list-style:none}.footer-links a{font-size:.8rem;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--text-secondary);transition:color .3s var(--ease-out)}.footer-links a:hover{color:var(--azuki-700)}.footer-bottom{margin-top:3rem;padding-top:1.5rem;border-top:1px solid rgba(107,47,50,.1);display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem}.footer-copyright{font-size:.75rem;color:var(--text-muted);letter-spacing:.04em}@media (max-width: 768px){.footer{padding:3rem 0 2rem}.footer-content,.footer-bottom{flex-direction:column;align-items:flex-start}}.reveal-element{opacity:0;transform:translateY(40px);transition:opacity .9s var(--ease-out),transform .9s var(--ease-out)}.reveal-element.is-visible{opacity:1;transform:translateY(0)}.reveal-element.delay-1{transition-delay:.1s}.reveal-element.delay-2{transition-delay:.2s}.reveal-element.delay-3{transition-delay:.3s}.privacy-page{padding:8rem 0 4rem;min-height:100vh;min-height:100dvh}.privacy-back{display:inline-flex;align-items:center;gap:.5rem;font-size:.8rem;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--text-secondary);margin-bottom:3rem;transition:color .3s var(--ease-out)}.privacy-back:hover{color:var(--azuki-700)}.privacy-back-arrow{transition:transform .3s var(--ease-out)}.privacy-back:hover .privacy-back-arrow{transform:translate(-4px)}.privacy-title{font-size:clamp(2.5rem,6vw,4rem);font-weight:800;letter-spacing:-.03em;line-height:1;color:var(--text-primary);margin-bottom:.5rem}.privacy-subtitle{font-size:.75rem;font-weight:500;letter-spacing:.15em;text-transform:uppercase;color:var(--azuki-700);margin-bottom:4rem}.privacy-content{max-width:720px}.privacy-section{margin-bottom:3rem}.privacy-section h2{font-size:1.25rem;font-weight:700;color:var(--text-primary);margin-bottom:1rem;letter-spacing:-.01em}.privacy-section p{font-size:.95rem;line-height:1.8;color:var(--text-secondary);margin-bottom:.75rem}.privacy-section ul{list-style:none;margin:.75rem 0;padding:0}.privacy-section li{font-size:.95rem;line-height:1.8;color:var(--text-secondary);padding-left:1.5rem;position:relative}.privacy-section li:before{content:"";position:absolute;left:0;top:.75rem;width:6px;height:6px;border-radius:50%;background:var(--azuki-700);opacity:.5}.privacy-section ol.privacy-ordered{list-style:none;counter-reset:privacy-counter;margin:.75rem 0;padding:0}.privacy-section ol.privacy-ordered li{counter-increment:privacy-counter;padding-left:1.75rem}.privacy-section ol.privacy-ordered li:before{content:counter(privacy-counter) ".";background:none;opacity:1;color:var(--azuki-700);font-weight:600;width:auto;height:auto;top:0;font-size:.95rem}.privacy-date{font-size:.8rem;color:var(--text-muted);margin-top:3rem;padding-top:1.5rem;border-top:1px solid rgba(107,47,50,.1)}@media (max-width: 768px){.privacy-page{padding:6rem 0 3rem}}.product-links{display:flex;flex-wrap:wrap;gap:.5rem 1.5rem}.faq-list{display:flex;flex-direction:column;gap:1rem;max-width:720px}.faq-item{background:var(--bg-paper);border:1px solid rgba(107,47,50,.15);border-radius:12px;overflow:hidden}.faq-item summary{display:flex;align-items:flex-start;gap:.75rem;min-height:56px;padding:1.25rem 3rem 1.25rem 1.25rem;position:relative;cursor:pointer;list-style:none;font-size:1rem;font-weight:600;line-height:1.5;color:var(--text-primary);transition:color .3s var(--ease-out)}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary:hover{color:var(--azuki-700)}.faq-item summary:after{content:"";position:absolute;right:1.5rem;top:1.35rem;width:8px;height:8px;border-right:2px solid var(--azuki-700);border-bottom:2px solid var(--azuki-700);transform:rotate(45deg);transition:transform .3s var(--ease-out)}.faq-item[open] summary:after{top:1.6rem;transform:rotate(-135deg)}.faq-label{flex-shrink:0;color:var(--azuki-700);letter-spacing:.04em}.faq-answer{padding:0 1.25rem 1.5rem}.faq-answer p{padding-top:1rem;border-top:1px solid rgba(107,47,50,.1);font-size:.95rem;line-height:1.8;color:var(--text-secondary)}.feedback-form{display:flex;flex-direction:column;gap:2rem;max-width:720px}.feedback-group{min-width:0;border:none;display:flex;flex-direction:column;gap:.75rem}.feedback-legend{display:block;margin-bottom:.25rem;font-size:.95rem;font-weight:600;color:var(--text-primary)}.feedback-option{display:flex;align-items:center;gap:.75rem;min-height:52px;padding:.75rem 1rem;background:var(--bg-paper);border:1px solid rgba(107,47,50,.2);border-radius:8px;font-size:1rem;color:var(--text-primary);cursor:pointer;transition:border-color .3s var(--ease-out),background-color .3s var(--ease-out)}.feedback-option:hover{border-color:var(--azuki-500)}.feedback-option:has(input:checked){border-color:var(--azuki-700);background:#6b2f320f}.feedback-option input{flex-shrink:0;width:20px;height:20px;accent-color:var(--azuki-700)}.feedback-field{display:flex;flex-direction:column;gap:.75rem}.feedback-textarea{width:100%;min-height:200px;padding:1rem;font-family:inherit;font-size:1rem;line-height:1.6;color:var(--text-primary);background:var(--bg-paper);border:1px solid rgba(107,47,50,.2);border-radius:8px;resize:vertical}.feedback-textarea::placeholder{color:var(--text-secondary);opacity:1}.feedback-textarea:focus{outline:2px solid var(--azuki-500);outline-offset:2px}.feedback-note{padding:1rem 1.25rem;background:var(--bg-beige);border-radius:8px;font-size:.9rem;line-height:1.8;color:var(--text-secondary)}.feedback-status{font-size:.9rem;font-weight:600;color:var(--azuki-800)}.feedback-submit{width:100%;min-height:52px;font:inherit;font-size:1rem;font-weight:600;color:var(--text-secondary);background:var(--bg-beige);border:1px solid rgba(107,47,50,.15);border-radius:100px;cursor:not-allowed}@media (pointer: coarse) and (max-width: 500px),(pointer: coarse) and (max-height: 500px){.page-embedded .nav,.page-embedded .footer,.page-embedded .privacy-back{display:none}.page-embedded .privacy-page{min-height:0;padding:2rem 0 3rem}}.not-found{min-height:100vh;display:flex;align-items:center;padding:8rem 0 4rem;background:var(--bg-cream)}.not-found-inner{display:flex;flex-direction:column;align-items:center;text-align:center;gap:1.5rem}.not-found-code{font-size:5rem;font-weight:700;line-height:1;color:var(--azuki-700);letter-spacing:.04em}.not-found-title{font-size:1.75rem;font-weight:600;line-height:1.2;color:var(--text-primary)}.not-found-text{max-width:480px;font-size:1rem;line-height:1.8;color:var(--text-secondary)}.not-found-button{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 2rem;font-size:1rem;font-weight:600;color:#fff;background:var(--azuki-700);border-radius:100px;transition:background-color .3s var(--ease-out),transform .3s var(--ease-out)}.not-found-button:hover{background:var(--azuki-800);transform:translateY(-2px)}@media (max-width: 768px){.not-found{padding:6rem 0 3rem}.not-found-code{font-size:4rem}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
