@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700;900&display=swap");:root{--red:#A32224;--red-dark:#8A1D1F;--red-tint:#FBEDEC;--red-line:#E6CFCE;--ink:#211C1A;--ink-soft:#5C534E;--ink-mute:#8A817B;--paper:#FBFAF8;--paper-2:#F4F0EA;--white:#FFFFFF;--line:#ECE7E1;--maxw:1120px;--r:18px;--shadow:0 1px 2px rgba(33,28,26,.05),0 5px 14px -8px rgba(33,28,26,.12);--font:"Noto Sans JP",system-ui,-apple-system,"Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;--disp:"Noto Sans JP",system-ui,-apple-system,"Hiragino Kaku Gothic ProN",sans-serif}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:var(--font);color:var(--ink);background:var(--paper);line-height:1.85;font-size:16px;-webkit-font-smoothing:antialiased;letter-spacing:.01em}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}.wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px}.eyebrow{display:inline-flex;align-items:center;gap:9px;font-size:13px;font-weight:700;letter-spacing:.14em;color:var(--red);text-transform:uppercase}.eyebrow:before{content:"";width:22px;height:2px;background:var(--red);border-radius:2px}h2.sec{font-family:var(--disp);font-size:clamp(28px,4.4vw,40px);font-weight:900;letter-spacing:.02em;line-height:1.3;margin:14px 0 0}.sec-lead{color:var(--ink-soft);margin-top:14px;max-width:620px}header{position:-webkit-sticky;position:sticky;top:0;z-index:50;background:rgba(251,250,248,.82);-webkit-backdrop-filter:saturate(180%) blur(12px);backdrop-filter:saturate(180%) blur(12px);border-bottom:1px solid var(--line)}.nav{display:flex;align-items:center;justify-content:space-between;height:70px}.brand img{height:34px;width:auto}.menu{display:flex;align-items:center;gap:32px}.menu a{font-size:14.5px;font-weight:700;color:var(--ink-soft);transition:color .2s}.menu a:hover{color:var(--red)}.menu .btn{padding:10px 20px}.menu a.btn-primary,.menu a.btn-primary:hover{color:#fff}.btn{display:inline-flex;align-items:center;gap:8px;font-weight:700;font-size:14.5px;padding:13px 26px;border-radius:999px;transition:.2s;cursor:pointer;white-space:nowrap}.btn-primary{background:var(--red);color:#fff;box-shadow:0 2px 8px -3px rgba(163,34,36,.45)}.btn-primary:hover{background:var(--red-dark);transform:translateY(-1px)}.btn-ghost{background:#fff;color:var(--ink);border:1px solid var(--line)}.btn-ghost:hover{border-color:var(--red);color:var(--red)}.menu-toggle{display:none;background:none;border:0;cursor:pointer;padding:8px}.menu-toggle span{display:block;width:24px;height:2px;background:var(--ink);margin:5px 0;border-radius:2px;transition:.25s}.hero{position:relative;overflow:hidden;background:radial-gradient(120% 90% at 100% 0,var(--red-tint) 0,rgba(251,237,236,0) 46%),var(--paper)}.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;grid-gap:48px;gap:48px;align-items:center;padding:88px 24px 96px}.hero h1{font-family:var(--disp);font-weight:900;letter-spacing:.01em;font-size:clamp(34px,5.4vw,58px);line-height:1.32;margin:22px 0 0}.hero h1 .mk{color:var(--red);position:relative;white-space:nowrap}.hero p.lead{margin-top:24px;font-size:clamp(15px,1.7vw,17.5px);color:var(--ink-soft);max-width:520px}.hero .cta{gap:14px;margin-top:36px}.hero .cta,.hero-note{display:flex;flex-wrap:wrap}.hero-note{margin-top:30px;gap:22px;color:var(--ink-mute);font-size:13px;font-weight:700;letter-spacing:.04em}.hero-note span{display:inline-flex;align-items:center;gap:7px}.hero-note .dot{width:7px;height:7px;border-radius:50%;background:var(--red)}.hero-art{position:relative;display:grid;place-items:center;min-height:360px}.seal-stage{position:relative;width:min(360px,80%);aspect-ratio:1}.seal-ring{inset:0;background:radial-gradient(closest-side,#fff,#fff 62%,transparent 63%);box-shadow:var(--shadow)}.seal-ring,.seal-ring:after{position:absolute;border-radius:50%}.seal-ring:after{content:"";inset:6%;border:1.5px dashed var(--red-line)}.seal-stage>img{position:absolute;inset:18%;width:64%;height:64%;object-fit:contain;filter:drop-shadow(0 10px 22px rgba(163,34,36,.28))}.chip{position:absolute;background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);display:flex;align-items:center;gap:10px;padding:11px 15px;font-size:13px;font-weight:700;animation:float 6s ease-in-out infinite}.chip svg{width:18px;height:18px}.chip img{width:22px;height:22px;border-radius:6px}.chip.c1{top:2%;left:-6%;animation-delay:0s}.chip.c2{bottom:14%;left:-10%;animation-delay:1.4s}.chip.c3{top:18%;right:-9%;animation-delay:2.6s}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-9px)}}@media(prefers-reduced-motion:reduce){.chip{animation:none}}section{padding:92px 0}.sec-head{margin-bottom:50px}#services{background:var(--white);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));grid-gap:24px;gap:24px}.card{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);padding:30px 28px 26px;display:flex;flex-direction:column;transition:.25s}.card:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:var(--red-line)}.app-icon{width:60px;height:60px;border-radius:14px;margin-bottom:20px;object-fit:cover;box-shadow:0 2px 6px -2px rgba(0,0,0,.22);background:#fff}.card h3{font-size:19px;font-weight:900;letter-spacing:.01em}.card .en{font-size:12px;font-weight:700;color:var(--ink-mute);letter-spacing:.08em;margin-top:2px}.card .tag{margin-top:14px;font-size:14px;color:var(--ink);font-weight:700}.card .desc{margin-top:8px;font-size:13.5px;color:var(--ink-soft);line-height:1.8;flex:1 1}.badges{display:flex;gap:7px;margin-top:18px;flex-wrap:wrap}.badge{font-size:11.5px;font-weight:700;color:var(--ink-soft);background:var(--paper-2);border:1px solid var(--line);border-radius:999px;padding:4px 11px}.store{display:flex;gap:10px;margin-top:20px;flex-wrap:wrap}.store a{font-size:13px;font-weight:700;color:var(--red);display:inline-flex;align-items:center;gap:5px}.store a:hover{color:var(--red-dark);text-decoration:underline}.biz{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:22px;gap:22px}.biz-item{padding:30px 28px;background:#fff;border:1px solid var(--line);border-radius:var(--r)}.biz-num{font-family:var(--disp);font-size:14px;font-weight:900;color:var(--red);letter-spacing:.12em}.biz-item h3{font-size:18px;font-weight:900;margin:14px 0 10px;display:flex;align-items:center;gap:10px}.biz-item h3 svg{width:22px;height:22px;color:var(--red)}.biz-item p{font-size:14px;color:var(--ink-soft)}#company{background:var(--white)}#company,.profile{border-top:1px solid var(--line)}.profile{max-width:760px}.row{display:grid;grid-template-columns:200px 1fr;grid-gap:24px;gap:24px;padding:20px 4px;border-bottom:1px solid var(--line)}.row dt{font-weight:700;color:var(--ink-soft);font-size:14.5px}.row dd{font-size:15px}.row dd small{color:var(--ink-mute)}.row dd a{color:var(--red);font-weight:700}#contact{text-align:center;background:radial-gradient(120% 120% at 50% 0,var(--red-tint),rgba(251,237,236,0) 55%),var(--paper)}#contact .seal{width:64px;margin:0 auto 22px;opacity:.95}#contact h2{font-family:var(--disp);font-size:clamp(26px,4vw,38px);font-weight:900}#contact p{color:var(--ink-soft);margin:16px auto 0;max-width:520px}.form-cta{font-size:16px;padding:16px 34px}footer{background:#1B1714;color:#cfc7c1;padding:54px 0 38px}.foot{display:flex;justify-content:space-between;align-items:flex-start;gap:32px;flex-wrap:wrap}.foot-brand{display:flex;align-items:center;gap:14px}.foot-brand img{width:42px;height:42px}.foot-brand b{font-family:var(--disp);font-size:18px;color:#fff;font-weight:900;letter-spacing:.02em}.foot-brand small{display:block;color:#928a84;font-size:12px;font-weight:500}.foot-nav{display:flex;gap:26px;flex-wrap:wrap}.foot-nav a{font-size:14px;color:#cfc7c1;font-weight:700}.foot-nav a:hover{color:#fff}.copy{margin-top:24px;padding-top:22px;border-top:1px solid rgba(255,255,255,.1);font-size:12.5px;color:#8a827c}.foot-share{display:flex;align-items:center;gap:16px;margin-top:30px;flex-wrap:wrap}.foot-share .lbl{font-size:13px;font-weight:700;color:#928a84;letter-spacing:.05em}.share-btns{display:flex;gap:10px}.sh{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);color:#cfc7c1;cursor:pointer;transition:.2s;padding:0}.sh:hover{background:#fff;color:#1B1714;transform:translateY(-2px)}.sh svg{width:18px;height:18px}#toast{position:fixed;left:50%;bottom:32px;transform:translateX(-50%) translateY(20px);background:#211C1A;color:#fff;font-size:13px;font-weight:700;padding:11px 22px;border-radius:999px;box-shadow:0 10px 26px -10px rgba(0,0,0,.5);opacity:0;pointer-events:none;transition:.3s;z-index:100}#toast.show{opacity:1;transform:translateX(-50%) translateY(0)}.rv{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s ease}.rv.in{opacity:1;transform:none}@media(max-width:880px){.hero-grid{grid-template-columns:1fr;gap:8px;padding:60px 24px 70px}.hero-art{order:-1;min-height:300px;margin-bottom:8px}.biz,.cards{grid-template-columns:1fr}.menu{position:fixed;inset:70px 0 auto 0;background:var(--paper);flex-direction:column;gap:0;padding:8px 0 16px;border-bottom:1px solid var(--line);transform:translateY(-130%);transition:transform .3s;align-items:stretch}.menu.open{transform:none}.menu a{padding:14px 24px}.menu .btn{margin:10px 24px 0;justify-content:center}.menu-toggle{display:block}.row{grid-template-columns:1fr;gap:2px;padding:16px 4px}.row dt{font-size:13px}section{padding:64px 0}.seal-stage{width:min(290px,74%)}.chip{font-size:12px;padding:9px 12px}.chip.c1{left:0}.chip.c2{left:-2%;bottom:10%}.chip.c3{right:-2%}}