:root{color:#332f3a;background:#f4f1fa;font-family:DM Sans,Helvetica Neue,Arial,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;--canvas: #f4f1fa;--foreground: #332f3a;--muted: #635f69;--accent: #7c3aed;--pink: #db2777;--blue: #0ea5e9;--green: #10b981;--amber: #f59e0b;--card: rgba(255, 255, 255, .72);--shadow-card: 16px 16px 32px rgba(160, 150, 180, .2), -10px -10px 24px rgba(255, 255, 255, .9), inset 6px 6px 12px rgba(139, 92, 246, .03), inset -6px -6px 12px rgba(255, 255, 255, 1);--shadow-deep: 30px 30px 60px #cdc6d9, -30px -30px 60px #ffffff, inset 10px 10px 20px rgba(139, 92, 246, .05), inset -10px -10px 20px rgba(255, 255, 255, .8);--shadow-button: 12px 12px 24px rgba(139, 92, 246, .3), -8px -8px 16px rgba(255, 255, 255, .4), inset 4px 4px 8px rgba(255, 255, 255, .4), inset -4px -4px 8px rgba(0, 0, 0, .1);--shadow-pressed: inset 10px 10px 20px #d9d4e3, inset -10px -10px 20px #ffffff}*{box-sizing:border-box}html{scroll-behavior:smooth}body{min-width:320px;min-height:100vh;margin:0;overflow-x:hidden;background:var(--canvas)}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit}a{color:inherit;text-decoration:none}h1,h2,h3,.eyebrow,.stat-orb strong{margin:0;font-family:Nunito,Arial Rounded MT Bold,Arial,sans-serif;letter-spacing:0}h1{max-width:900px;font-size:clamp(3rem,8vw,6.8rem);font-weight:900;line-height:1.04}h2{font-size:clamp(2rem,4vw,3.5rem);font-weight:900;line-height:1.08}h3{font-size:1.45rem;font-weight:900;line-height:1.15}p{margin:0;color:var(--muted);font-size:1.03rem;font-weight:500;line-height:1.75}.blob-field{position:fixed;inset:0;z-index:-2;overflow:hidden;pointer-events:none}.blob{position:absolute;width:min(60vh,620px);height:min(60vh,620px);border-radius:999px;filter:blur(60px);opacity:.52;animation:clay-float 10s ease-in-out infinite}.blob-violet{top:-14%;left:-10%;background:#7c3aed2e}.blob-pink{top:12%;right:-14%;background:#db277724;animation-delay:-3s}.blob-blue{bottom:-18%;left:18%;background:#0ea5e926;animation-duration:12s}.blob-amber{right:10%;bottom:2%;background:#f59e0b24;animation-delay:-6s;animation-duration:14s}.nav-shell{position:sticky;top:18px;z-index:10;display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:16px;align-items:center;width:min(1180px,calc(100% - 32px));min-height:82px;margin:18px auto 0;padding:12px 14px;border-radius:42px;background:#ffffffb3;box-shadow:var(--shadow-card);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.brand-button,nav{display:flex;align-items:center}.brand-button{min-width:0;gap:12px;border:0;background:transparent;color:var(--foreground);cursor:pointer}.brand-button img{width:54px;height:54px;flex:0 0 auto;border-radius:18px;object-fit:cover;box-shadow:8px 8px 18px #a096b43d,-8px -8px 18px #fff}.brand-button span{display:grid;min-width:0;text-align:left}.brand-button strong{overflow:hidden;font-family:Nunito,Arial Rounded MT Bold,Arial,sans-serif;font-size:1.05rem;font-weight:900;text-overflow:ellipsis;white-space:nowrap}.brand-button small,.muted{color:var(--muted)}nav{gap:8px;padding:7px;border-radius:28px;background:#f4f1fab3;box-shadow:var(--shadow-pressed)}nav button,.lang-switch button{min-height:44px;border:0;border-radius:22px;background:transparent;color:var(--muted);font-weight:800;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,background .2s ease,color .2s ease}nav button{padding:0 18px}nav button.active,.lang-switch button.active{background:#fff;color:var(--accent);box-shadow:8px 8px 18px #a096b42e,-8px -8px 18px #fff}nav button:hover,.lang-switch button:hover,.brand-button:hover{transform:translateY(-2px)}.lang-switch{display:flex;gap:6px;align-items:center;padding:7px;border-radius:28px;background:#f4f1fab3;box-shadow:var(--shadow-pressed)}.lang-switch button{padding:0 13px;white-space:nowrap}.page{width:min(1180px,calc(100% - 32px));margin:40px auto 90px}.content-stack{display:grid;gap:34px}.hero,.page-hero{position:relative;display:grid;grid-template-columns:minmax(0,1.08fr) minmax(310px,.78fr);gap:34px;align-items:center;min-height:620px;padding:clamp(28px,6vw,68px);overflow:hidden;border-radius:60px;background:#ffffff94;box-shadow:var(--shadow-deep);-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px)}.hero:after,.page-hero:after{content:"";position:absolute;right:-120px;bottom:-150px;width:360px;height:360px;border-radius:999px;background:#7c3aed14;box-shadow:var(--shadow-card)}.home-hero,.business-hero{isolation:isolate}.home-hero{background:linear-gradient(90deg,#ffffffd6,#f4f1fa94),url(/assets/home-osaka-castle.jpg) center / cover}.business-hero{background:linear-gradient(90deg,#ffffffdb,#f4f1fa8f),url(/assets/business-handshake.png) center / cover}.home-hero:before,.business-hero:before{position:absolute;inset:0;z-index:0;background:radial-gradient(circle at 14% 18%,rgba(255,255,255,.74),transparent 28%),linear-gradient(135deg,#ffffff75,#ffffff1f);content:"";pointer-events:none}.hero-copy,.logo-composition,.section-heading,.page-hero>.eyebrow,.page-hero>h1,.page-hero>p,.page-hero>div{position:relative;z-index:1}.eyebrow{color:var(--accent);font-size:.83rem;font-weight:900;letter-spacing:.08em;line-height:1.2;text-transform:uppercase}.hero-copy{display:grid;gap:22px}.hero-text,.page-hero p{max-width:720px;font-size:clamp(1rem,2.3vw,1.28rem)}.hero-actions{display:flex;flex-wrap:wrap;gap:16px;margin-top:8px}.slogan-card{width:fit-content;max-width:100%;padding:16px 20px;border-radius:28px;background:#ffffffb8;box-shadow:var(--shadow-card)}.slogan-card span{color:var(--foreground);font-family:Nunito,Arial Rounded MT Bold,Arial,sans-serif;font-size:clamp(1.08rem,2.4vw,1.55rem);font-weight:900;line-height:1.35}.clay-button{display:inline-flex;align-items:center;justify-content:center;min-height:56px;padding:0 24px;border:0;border-radius:22px;font-weight:900;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,background .2s ease}.clay-button.primary{background:linear-gradient(135deg,#a78bfa,#7c3aed);color:#fff;box-shadow:var(--shadow-button)}.clay-button.secondary{background:#ffffffdb;color:var(--foreground);box-shadow:var(--shadow-card)}.clay-button:hover{transform:translateY(-4px)}.clay-button:active{transform:scale(.92);box-shadow:var(--shadow-pressed)}.logo-composition{position:relative;z-index:1;display:grid;place-items:center;min-height:440px}.logo-orb{width:min(100%,410px);aspect-ratio:1;padding:22px;border-radius:999px;background:#ffffffb8;box-shadow:var(--shadow-deep);animation:clay-breathe 6s ease-in-out infinite}.logo-orb img{width:100%;height:100%;border-radius:999px;object-fit:cover}.stat-orb{position:absolute;display:grid;place-items:center;width:116px;height:116px;border-radius:999px;background:linear-gradient(135deg,#ffffffeb,#f4f1fac7);box-shadow:var(--shadow-card);animation:clay-float-delayed 9s ease-in-out infinite}.stat-orb strong{font-size:2rem;font-weight:900}.stat-orb span{color:var(--muted);font-size:.78rem;font-weight:800}.stat-orb.top{top:24px;right:8px}.stat-orb.bottom{left:6px;bottom:34px}.section-heading{display:grid;gap:8px;margin-bottom:24px}.intro-card{padding:clamp(28px,5vw,44px);border-radius:42px}.prose-block{display:grid;gap:14px}.prose-block p,.service-intro{max-width:900px}blockquote{margin:8px 0 0;padding:18px 20px;border-radius:26px;background:#ffffffad;color:var(--foreground);font-family:Nunito,Arial Rounded MT Bold,Arial,sans-serif;font-size:clamp(1.05rem,2vw,1.35rem);font-weight:900;line-height:1.45;box-shadow:var(--shadow-pressed)}.service-grid,.business-grid,.contact-grid{display:grid;gap:24px}.service-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.clay-card{position:relative;overflow:hidden;min-width:0;padding:30px;border-radius:32px;background:var(--card);box-shadow:var(--shadow-card);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);transition:transform .5s ease,box-shadow .5s ease}.clay-card:hover{transform:translateY(-8px);box-shadow:22px 22px 42px #a096b43d,-14px -14px 30px #fffffff5,inset 6px 6px 12px #8b5cf608,inset -6px -6px 12px #fff}.clay-card h3,.clay-card h2{margin-top:18px}.clay-card p{margin-top:12px}.icon-orb{display:grid;place-items:center;width:72px;height:72px;border-radius:24px;color:#fff;font-family:Nunito,Arial Rounded MT Bold,Arial,sans-serif;font-size:1.55rem;font-weight:900;box-shadow:var(--shadow-button)}.icon-0{background:linear-gradient(135deg,#38bdf8,#2563eb)}.icon-1{background:linear-gradient(135deg,#c084fc,#7c3aed)}.icon-2{background:linear-gradient(135deg,#f472b6,#db2777)}.vision-card,.future-card{display:grid;grid-template-columns:minmax(240px,.52fr) minmax(0,1fr) auto;gap:28px;align-items:center;padding:38px;border-radius:44px}.future-card .clay-button{white-space:nowrap}.page-hero.compact{display:grid;grid-template-columns:1fr;min-height:360px}.business-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.large-card{padding:clamp(28px,5vw,44px);border-radius:42px}.pill-list{display:grid;gap:14px;margin:24px 0 0;padding:0;list-style:none}.pill-list li{min-height:52px;padding:14px 18px;border-radius:22px;background:#ffffffad;color:var(--foreground);font-weight:800;line-height:1.45;box-shadow:8px 8px 18px #a096b424,-8px -8px 18px #ffffffe6,inset 3px 3px 7px #8b5cf608,inset -3px -3px 7px #ffffffe6}.contact-hero{grid-template-columns:160px minmax(0,1fr);min-height:300px;isolation:isolate;background:linear-gradient(135deg,#091122ad,#f4f1fa57),url(/assets/contact-world-map.png) center / cover}.contact-hero:before{position:absolute;inset:0;z-index:0;background:radial-gradient(circle at 12% 20%,rgba(255,255,255,.78),transparent 22%),linear-gradient(90deg,#ffffffc2,#ffffff3d);content:"";pointer-events:none}.contact-hero img{position:relative;z-index:1;width:150px;height:150px;border-radius:42px;object-fit:cover;box-shadow:var(--shadow-card)}.contact-grid{grid-template-columns:minmax(300px,.8fr) minmax(0,1.2fr);align-items:start}.contact-side{display:grid;gap:24px}.contact-card{border-radius:42px}.address-lines{display:grid;gap:8px;margin-top:12px}.postal-code{color:var(--foreground);font-family:Nunito,Arial Rounded MT Bold,Arial,sans-serif;font-size:1.14rem;font-weight:900}.map-name{color:var(--foreground);font-weight:900}.contact-card dl{display:grid;gap:12px;margin:24px 0}.contact-card dl div{display:grid;grid-template-columns:84px 1fr;gap:12px;align-items:center;min-height:50px;padding:12px 16px;border-radius:22px;background:#ffffffad;box-shadow:var(--shadow-pressed)}dt{color:var(--muted);font-weight:800}dd{margin:0;color:var(--foreground);font-weight:900}.maps{width:100%;margin-top:24px}.online-card,.mail-card{border-radius:42px}.mail-form{display:grid;gap:16px;margin-top:22px}.mail-form label{display:grid;gap:9px;color:var(--foreground);font-weight:900}.mail-form input,.mail-form textarea{width:100%;border:0;border-radius:22px;background:#efebf5;color:var(--foreground);font:inherit;font-weight:700;box-shadow:var(--shadow-pressed);outline:none;transition:background .2s ease,box-shadow .2s ease,transform .2s ease}.mail-form input{min-height:58px;padding:0 18px}.mail-form textarea{min-height:150px;padding:18px;resize:vertical}.mail-form input::placeholder,.mail-form textarea::placeholder{color:var(--muted);font-weight:700}.mail-form input:focus,.mail-form textarea:focus{background:#fff;box-shadow:0 0 0 4px #7c3aed2e,var(--shadow-card)}.mail-form .clay-button{width:100%;margin-top:4px}.qr-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:24px}.qr-card{display:grid;gap:12px;min-width:0;padding:16px;border-radius:28px;background:#ffffffbd;box-shadow:10px 10px 22px #a096b42e,-8px -8px 18px #ffffffe6,inset 4px 4px 8px #8b5cf605,inset -4px -4px 8px #fff;transition:transform .3s ease,box-shadow .3s ease}.qr-card:hover{transform:translateY(-6px) scale(1.01)}.qr-type{display:flex;align-items:center;justify-content:center;min-height:54px;padding:10px 14px;border-radius:22px;background:#f4f1fab8;box-shadow:var(--shadow-pressed);text-align:center}.qr-image-shell{display:grid;place-items:center;aspect-ratio:1;padding:10px;overflow:hidden;border-radius:24px;background:#fff}.qr-image-shell img{width:100%;height:100%;object-fit:contain}.qr-card h3{color:var(--foreground);font-size:1.6rem}.qr-green h3{color:#059669}.qr-lime h3{color:#16a34a}.qr-pink h3{color:#db2777}.qr-amber h3{color:#b45309}@keyframes clay-float{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(-20px) rotate(2deg)}}@keyframes clay-float-delayed{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(-15px) rotate(-2deg)}}@keyframes clay-breathe{0%,to{transform:scale(1)}50%{transform:scale(1.02)}}@media(max-width:980px){.nav-shell{grid-template-columns:1fr;border-radius:34px}nav{justify-content:center;width:100%;overflow-x:auto}.lang-switch{justify-content:center;width:100%;overflow-x:auto}.hero{grid-template-columns:1fr;min-height:auto}.logo-composition{min-height:380px}.service-grid,.business-grid,.contact-grid,.vision-card,.future-card{grid-template-columns:1fr}}@media(max-width:680px){.page{width:min(100% - 20px,1180px);margin-top:24px}.nav-shell{top:10px;width:min(100% - 20px,1180px);margin-top:10px;padding:10px}.brand-button img{width:48px;height:48px}nav button,.lang-switch button{padding:0 12px;font-size:.86rem}.hero,.page-hero{padding:26px;border-radius:38px}.hero-actions{flex-direction:column}.clay-button{width:100%}.logo-composition{min-height:310px}.logo-orb{width:min(100%,290px)}.stat-orb{width:92px;height:92px}.contact-hero{grid-template-columns:1fr}.contact-hero img{width:118px;height:118px}.qr-grid{grid-template-columns:1fr}.clay-card{padding:24px;border-radius:28px}.contact-card dl div{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:1ms!important;animation-iteration-count:1!important;transition-duration:1ms!important}}
