@import"https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600&family=Noto+Sans+JP:wght@300;400;500&family=Noto+Sans+KR:wght@300;400;500&family=Noto+Sans:wght@300;400;500&family=Noto+Sans+TC:wght@400;500&display=swap";:root{--ink: #171717;--text: #363636;--muted: #666;--accent: #51628f;--border: #e4e4e4;--border-soft: #f0f0f0;--bg: #fcfcfb;--bg-rgb: 252, 252, 251;font-family:Noto Sans JP,Noto Sans,Noto Sans KR,Noto Sans TC,Montserrat,sans-serif;font-weight:300;line-height:1.8;color:var(--text)}*{box-sizing:border-box;margin:0;padding:0}[hidden]{display:none!important}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);min-height:100vh}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}#app{min-height:100vh}.site-header{position:sticky;top:0;display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:0 clamp(1.5rem,5vw,4rem);height:72px;background:rgba(var(--bg-rgb),.9);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border);z-index:100;transition:box-shadow .3s ease}.site-header.has-shadow{box-shadow:0 1px 10px #0000000f}.site-header .logo{font-family:Montserrat,sans-serif;font-weight:600;font-size:1rem;letter-spacing:.15em;color:var(--ink)}.site-header nav{display:flex;gap:2rem;font-size:.82rem;font-weight:400;letter-spacing:.04em}.site-header nav a,.footer-links a{color:var(--muted);transition:color .2s}.site-header nav a:hover,.footer-links a:hover{color:var(--ink)}.locale-switcher{position:relative}.locale-switcher summary{list-style:none;cursor:pointer;border:1px solid var(--border);padding:.55rem .8rem;min-width:132px;font-size:.78rem;color:var(--ink);background:rgba(var(--bg-rgb),.96)}.locale-switcher summary::-webkit-details-marker{display:none}.locale-switcher__menu{position:absolute;right:0;top:calc(100% + .45rem);width:220px;background:rgba(var(--bg-rgb),.98);border:1px solid var(--border);display:grid}.locale-switcher__menu a{padding:.7rem .85rem;font-size:.82rem;color:var(--text);border-top:1px solid var(--border-soft)}.locale-switcher__menu a:first-child{border-top:0}.locale-switcher__menu a[aria-current=page]{color:var(--ink);background:#f5f6f9}main{max-width:1080px;margin:0 auto;padding:0 clamp(1.5rem,4vw,4rem)}.section-header{margin-bottom:4.5rem}.section-line{display:block;width:30px;height:2px;margin-bottom:1.2rem;position:relative}.section-line:before,.section-line:after{position:absolute;left:0;top:0;content:"";display:block}.section-line:before{width:100px;height:2px;background:var(--border-soft)}.section-line:after{width:20px;height:3px;background:var(--ink)}.section-label{display:block;font-family:Montserrat,sans-serif;font-size:.6rem;font-weight:500;letter-spacing:.25em;text-transform:uppercase;color:var(--accent);margin-bottom:1.5rem}.section-header h2{font-size:clamp(1.5rem,2.6vw,1.9rem);font-weight:300;color:var(--ink);letter-spacing:.08em;line-height:1.4}.hero{padding:14rem 0 18rem;border-bottom:1px solid var(--border);position:relative;min-height:36vh;display:flex;flex-direction:column;justify-content:center}.hero h1{font-size:clamp(1.8rem,3.5vw,2.6rem);font-weight:300;letter-spacing:.12em;line-height:1.8;color:var(--ink)}.hero-bottom{position:absolute;bottom:3rem;left:0;display:flex;flex-direction:column;gap:.3rem}.hero-site-name{font-family:Montserrat,sans-serif;font-size:.82rem;font-weight:500;letter-spacing:.35em;color:var(--ink)}.hero-site-sub{font-size:.72rem;letter-spacing:.12em;color:var(--muted)}.about,.mission,.products,.info,.contact{padding:6rem 0;border-bottom:1px solid var(--border)}.contact{border-bottom:0}.about-lead,.about-intro,.mission-body,.product-main>p,.product-story,.contact p{max-width:70ch}.about-lead p{font-size:1.05rem;line-height:2.1}.about-lead-accent{color:var(--ink);font-weight:400}.about-intro{margin-top:3rem;margin-bottom:4rem;padding-left:2rem;border-left:1px solid var(--border)}.about-intro p,.mission-body p,.product-main>p,.product-story p,.contact p,.info dd,.philosophy-item p,.product-tagline{font-size:.9rem;color:var(--muted);line-height:2}.about-intro p+p,.mission-body p+p,.product-main>p+p,.product-story p+p,.contact p+p,.philosophy-item p+p{margin-top:.9rem}.philosophy-grid,.info dl{display:grid;grid-template-columns:1fr 1fr;gap:0}.philosophy-item{padding:3rem 2.5rem;border-top:1px solid var(--border)}.philosophy-item:nth-child(odd){border-right:1px solid var(--border)}.philosophy-dot{width:6px;height:6px;background:var(--ink);margin-bottom:1.5rem}.philosophy-label{display:block;font-family:Montserrat,sans-serif;font-size:.6rem;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--accent);margin-bottom:.8rem}.philosophy-item h3{font-size:clamp(1.15rem,2vw,1.45rem);font-weight:300;color:var(--ink);letter-spacing:.04em;line-height:1.5;margin-bottom:1.8rem}.mission-lead{font-size:1.3rem;font-weight:400;color:var(--ink);margin-bottom:1rem;line-height:1.6}.product-main{margin-bottom:3.5rem;padding-bottom:3.5rem;border-bottom:1px solid var(--border-soft)}.product-main h3{font-family:Montserrat,sans-serif;font-size:1.6rem;font-weight:500;color:var(--ink);letter-spacing:.04em;margin-bottom:.8rem}.product-tagline{margin-bottom:2rem}.product-details{display:grid;grid-template-columns:repeat(2,1fr);margin-top:2.5rem;border-top:1px solid var(--border-soft)}.product-detail-item{padding:1.2rem 1.5rem 1.2rem 0}.product-detail-item+.product-detail-item{border-left:1px solid var(--border-soft);padding-left:1.5rem}.product-detail-item dt,.info dt{font-size:.76rem;letter-spacing:.08em;color:var(--muted);margin-bottom:.3rem}.product-story h4{font-size:1.15rem;font-weight:500;color:var(--ink);margin-bottom:1.2rem}.info dl>div{padding:1rem 0;border-bottom:1px solid var(--border-soft)}.btn,.text-link{display:inline-flex;align-items:center;justify-content:center}.btn{padding:.75rem 2rem;border:1px solid var(--ink);background:var(--ink);color:#fff;font-size:.85rem;font-weight:400;letter-spacing:.06em;cursor:pointer;transition:background .2s}.contact .btn{margin-top:3rem}.btn:hover{background:#333}.btn-secondary{background:transparent;color:var(--ink)}.btn-secondary:hover{background:#f4f4f4}.text-link{margin-top:1.5rem;font-size:.85rem;color:var(--ink);border-bottom:1px solid var(--ink);padding-bottom:2px}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:200;display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:opacity .3s,visibility .3s}.modal-overlay.is-open{opacity:1;visibility:visible}.modal{position:relative;background:var(--bg);width:min(90vw,640px);max-height:80vh;display:flex;flex-direction:column;border:1px solid var(--border)}.modal-close{position:absolute;top:1rem;right:1rem;background:none;border:none;font-size:1.4rem;color:var(--muted);cursor:pointer}.modal-title{padding:2rem 2.5rem 1rem;font-size:1.2rem;font-weight:500;color:var(--ink)}.modal-body{padding:1.5rem 2.5rem 2rem;overflow-y:auto;flex:1;font-size:.82rem;color:var(--muted);line-height:2}.modal-note{padding:.9rem 1rem;margin-bottom:1.5rem;background:#f5f6f9;border-left:3px solid var(--accent)}.modal-body h4{font-size:.82rem;font-weight:500;color:var(--text);margin-top:1.5rem;margin-bottom:.3rem}.modal-body ul{padding-left:1.25rem;margin:.5rem 0}.modal-end-marker{margin-top:2rem;padding-top:1rem;border-top:1px solid var(--border);font-size:.78rem}.modal-footer{padding:1.25rem 2.5rem 1.5rem;border-top:1px solid var(--border)}.modal-scroll-hint{text-align:center;font-size:.78rem;color:var(--muted)}.modal-gate{margin-top:2rem;padding-top:1.25rem;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:1rem}.modal-consent{display:flex;align-items:center;gap:.6rem;cursor:pointer}.modal-consent input[type=checkbox]{width:16px;height:16px;accent-color:var(--ink)}.modal-send{text-align:center}.contact-form-panel{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border-soft)}.contact-form-intro{margin-bottom:1rem}.contact-form{display:grid;gap:1rem;padding-bottom:40px}.contact-form-step{display:grid;gap:1rem}.contact-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.contact-field{display:grid;gap:.45rem}.contact-field span{font-size:.74rem;color:var(--ink);letter-spacing:.04em}.contact-field input,.contact-field select,.contact-field textarea{width:100%;border:1px solid var(--border);background:#fff;color:var(--text);padding:.8rem .9rem;border-radius:0}.contact-field textarea{resize:vertical;min-height:10rem}.contact-field input:focus,.contact-field select:focus,.contact-field textarea:focus{outline:none;border-color:var(--ink)}.contact-category-guide{margin-top:-.35rem;font-size:.82rem;line-height:1.7;color:var(--ink)}.contact-category-guide a{text-decoration:underline;text-underline-offset:.18em}.contact-step-title{font-size:1rem;font-weight:500;color:var(--ink)}.contact-confirm-list{display:grid;gap:0;border-top:1px solid var(--border-soft)}.contact-confirm-list div{display:grid;grid-template-columns:11rem 1fr;gap:1rem;padding:.9rem 0;border-bottom:1px solid var(--border-soft)}.contact-confirm-list dt{color:var(--muted);font-size:.78rem}.contact-confirm-list dd{white-space:pre-wrap;word-break:break-word}.contact-complete-copy{color:var(--text)}.contact-bot-field{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.contact-form-actions{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.contact-form-status{min-height:1.5em;font-size:.78rem}.contact-form-status[data-state=success]{color:#1b5e20}.contact-form-status[data-state=error]{color:#9f2f2f}.site-footer{max-width:1080px;margin:32vh auto 0;padding:3rem clamp(1.5rem,4vw,4rem) 2rem;border-top:1px solid var(--border);display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:1.5rem;font-size:.78rem;color:var(--muted)}.footer-message{display:flex;flex-direction:column;gap:.3rem}.footer-tagline{font-size:.85rem;color:var(--ink);font-weight:400}.footer-links{display:flex;gap:1.5rem}.footer-copy{width:100%;margin-top:1rem;font-family:Montserrat,sans-serif;font-size:.72rem;letter-spacing:.1em}.ruler{position:absolute;top:0;left:0;width:50px;height:100%;pointer-events:none;z-index:50}.ruler-mark,.ruler-tick{position:absolute;left:0;display:block;height:1px}.ruler-mark{width:14px;background:#ccc}.ruler-num{position:absolute;left:16px;top:-4px;font-family:Montserrat,sans-serif;font-size:7px;color:#bbb}.ruler-tick{width:5px;background:#ddd}.ruler-tick--mid{width:9px;background:#ccc}.scroll-indicator{position:fixed;left:6px;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;gap:5px;z-index:50;pointer-events:none}.indicator-line{display:block;height:1px;background:#ccc;min-width:2px}.language-page{max-width:980px;margin:0 auto;padding:clamp(4rem,8vw,7rem) clamp(1.5rem,4vw,3rem)}.language-hero{max-width:60ch;margin-bottom:3rem}.language-kicker{font-family:Montserrat,sans-serif;font-size:.72rem;letter-spacing:.28em;color:var(--accent);margin-bottom:1.2rem}.language-hero h1{font-size:clamp(2rem,4vw,3.2rem);line-height:1.15;font-weight:300;color:var(--ink);margin-bottom:1rem}.language-copy{max-width:56ch;color:var(--muted)}.language-copy span{color:var(--ink)}.language-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.language-card{padding:1.1rem 1.2rem;border:1px solid var(--border);background:#fff;transition:transform .2s,border-color .2s}.language-card:hover{transform:translateY(-2px);border-color:var(--ink)}.language-card__name,.language-card__native{display:block}.language-card__name{font-size:.78rem;text-transform:uppercase;letter-spacing:.15em;color:var(--accent);margin-bottom:.4rem}.language-card__native{font-size:1.05rem;color:var(--ink)}@media (max-width: 900px){.site-header{flex-wrap:wrap;height:auto;padding-top:1rem;padding-bottom:1rem}.site-header nav{width:100%;order:3;overflow-x:auto;gap:1rem}}@media (max-width: 768px){.ruler,.scroll-indicator{display:none}.hero{padding:6rem 0 8rem;min-height:60vh}.philosophy-grid,.info dl,.product-details{grid-template-columns:1fr}.philosophy-item,.philosophy-item:nth-child(odd){border-right:0}.product-detail-item+.product-detail-item{border-left:0;border-top:1px solid var(--border-soft);padding-left:0}.about,.mission,.products,.info,.contact{padding:4rem 0}.about-intro{padding-left:1.25rem}.modal{width:min(94vw,640px)}.modal-title,.modal-body,.modal-footer{padding-left:1.25rem;padding-right:1.25rem}.contact-form-grid{grid-template-columns:1fr}.contact-confirm-list div{grid-template-columns:1fr;gap:.35rem}.site-footer{margin-top:24vh;flex-direction:column;align-items:flex-start}}
