:root{--base:#1b2330;--ink:#ede3d2;--accent:#d89a4e;--muted:#2a3340;--muted-foreground:#9aa2ae;--border:#ede3d21f;--font-display:"Kaisei Tokumin", serif;--font-body:"Noto Sans JP", sans-serif;--sumi:#ede3d2;--plaster:#1b2330;--uni:#d89a4e;--mincho:"Kaisei Tokumin", serif;--gothic:"Noto Sans JP", sans-serif}*,:before,:after{box-sizing:border-box}body{margin:0}html,body{background-color:var(--base);color:var(--ink);font-family:var(--font-body);-webkit-font-smoothing:antialiased;font-feature-settings:"palt";font-weight:400;line-height:1.6}img{max-width:100%;height:auto;display:block}a{color:inherit;text-decoration:none}h1,h2,h3,h4{font-family:var(--font-display);letter-spacing:-.01em;margin:0;font-weight:700}::selection{background:var(--accent);color:var(--base)}.hm-wrap{background:var(--base);min-height:100vh;color:var(--ink);font-family:var(--font-body)}.eyebrow{font-family:var(--font-body);letter-spacing:.32em;text-transform:uppercase;color:var(--accent);font-size:.72rem;font-weight:500}.rule{background:var(--accent);vertical-align:middle;opacity:.8;width:2.25rem;height:1px;margin-right:.75rem;display:inline-block}.container{max-width:1440px;margin:0 auto;padding-left:1.5rem;padding-right:1.5rem}@media (width>=768px){.container{padding-left:2.5rem;padding-right:2.5rem}}.b-top{border-top:1px solid var(--border)}.b-bot{border-bottom:1px solid var(--border)}@keyframes steamRise{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}.steam-in{animation:1.6s cubic-bezier(.22,.61,.36,1) both steamRise}.steam-in-2{animation:1.6s cubic-bezier(.22,.61,.36,1) .2s both steamRise}.steam-in-3{animation:1.6s cubic-bezier(.22,.61,.36,1) .4s both steamRise}.img-zoom{transition:transform .9s cubic-bezier(.22,.61,.36,1)}.pcard:hover .img-zoom{transform:scale(1.04)}.nav-bar{z-index:20;position:absolute;top:0;left:0;right:0}.nav{justify-content:space-between;align-items:center;padding:1.5rem 0;display:flex}@media (width>=768px){.nav{padding:1.75rem 0}}.nav .brand{align-items:baseline;gap:.85rem;display:flex}.nav .brand .mark{font-family:var(--font-display);letter-spacing:.02em;font-size:1.2rem;font-weight:700}@media (width>=768px){.nav .brand .mark{font-size:1.35rem}}.nav .brand .honten{border-left:1px solid var(--border);padding-left:.85rem;display:none}@media (width>=768px){.nav .brand .honten{display:inline-block}}.nav .links{align-items:center;gap:2.5rem;font-size:.875rem;display:none}@media (width>=768px){.nav .links{display:flex}}.nav .links a{opacity:.85;transition:color .3s}.nav .links a:hover,.nav .links a.active{color:var(--accent);opacity:1}.nav .links .locales{border-left:1px solid var(--border);gap:.7rem;margin-left:.5rem;padding-left:1.25rem;display:flex}.nav .links .locales a{letter-spacing:.18em;opacity:.55;font-size:.72rem}.nav .links .locales a.on{opacity:1;color:var(--accent)}.nav .tel{border:1px solid var(--border);letter-spacing:.18em;align-items:center;min-height:2.75rem;padding:.55rem 1.1rem;font-size:.78rem;transition:border-color .3s,color .3s;display:inline-flex}.nav .tel:hover{color:var(--accent);border-color:var(--accent)}.hero{align-items:flex-end;min-height:100svh;display:flex;position:relative;overflow:hidden}.hero .bg{z-index:0;position:absolute;inset:0}.hero .bg img{-o-object-fit:cover;object-fit:cover;-o-object-position:30% center;object-position:30% center;width:100%;height:100%}.hero .scrim{z-index:1;pointer-events:none;background:radial-gradient(120% 90% at 22% 62%,#d89a4e2e,#0000 55%),linear-gradient(90deg,#1b23304d 0%,#1b23301a 38%,#1b2330c7 70%,#1b2330f5 100%),linear-gradient(#0000 30%,#1b233026 60%,#1b2330d9 100%);position:absolute;inset:0}.hero .inner{z-index:2;width:100%;position:relative}.hero-grid{grid-template-columns:1fr;align-items:end;display:grid}@media (width>=1024px){.hero-grid{grid-template-columns:repeat(12,1fr)}}.hero-type{padding-top:8rem;padding-bottom:3.5rem}@media (width>=1024px){.hero-type{grid-column:7/span 6;padding-top:0;padding-bottom:7rem}}.hero-type .he{margin-bottom:2rem;display:block}.hero-type h1{font-family:var(--font-display);letter-spacing:.01em;color:var(--ink);text-shadow:0 2px 40px #00000073;font-size:clamp(4rem,16vw,10rem);font-weight:700;line-height:.92}.hero-type .rom-rule{align-items:center;gap:1rem;margin-top:2rem;display:flex}.hero-type .rom-rule .line{background:var(--accent);opacity:.8;flex:0 0 4rem;height:1px}.hero-type .romaji{font-family:var(--font-display);color:var(--accent);font-size:1.5rem;font-weight:500;line-height:1.2}@media (width>=768px){.hero-type .romaji{font-size:1.875rem}}.hero-type .lead{color:#ede3d2db;max-width:30rem;margin-top:2rem;font-size:1.05rem;line-height:1.85}.hero-type .lead strong{color:var(--ink);margin-bottom:.35rem;font-weight:500;display:block}.hero-type .tags{font-family:var(--font-body);letter-spacing:.28em;text-transform:uppercase;color:#ede3d299;margin-top:1.75rem;font-size:.72rem;font-weight:500}.hero-type .meta{color:#ede3d2c7;flex-wrap:wrap;gap:2rem;margin-top:2.5rem;font-size:.875rem;display:flex}.hero-type .meta .eyebrow{margin-right:.7rem}.sec{padding-top:5rem;padding-bottom:5rem}@media (width>=768px){.sec{padding-top:8rem;padding-bottom:8rem}}.about-grid{grid-template-columns:1fr;gap:2.5rem;display:grid}@media (width>=768px){.about-grid{grid-template-columns:repeat(12,1fr)}.about-grid .head{grid-column:span 4}}.about-grid .head h2{font-family:var(--font-display);margin-top:1.25rem;font-size:1.875rem;line-height:1.2}@media (width>=768px){.about-grid .head h2{font-size:2.4rem}.about-grid .body{grid-column:6/span 7}}.about-grid .body p{color:#ede3d2e0;font-size:1.05rem;line-height:1.95}@media (width>=768px){.about-grid .body p{font-size:1.125rem}}.about-grid .body p+p{color:#ede3d2a8;margin-top:1.5rem}.products{background:#141b26}.products .ptop{justify-content:space-between;align-items:flex-end;margin-bottom:3rem;display:flex}@media (width>=768px){.products .ptop{margin-bottom:4rem}}.products .ptop h2{font-family:var(--font-display);margin-top:1rem;font-size:1.875rem}@media (width>=768px){.products .ptop h2{font-size:3rem}}.products .ptop .note{color:var(--muted-foreground);text-align:right;max-width:18rem;font-size:.875rem;display:none}@media (width>=768px){.products .ptop .note{display:block}}.pgrid{grid-template-columns:1fr;gap:2rem;display:grid}@media (width>=768px){.pgrid{grid-template-columns:repeat(3,1fr);gap:2.5rem}}.pcard{background:var(--base);border:1px solid var(--border)}.pcard .pimg{aspect-ratio:4/5;overflow:hidden}.pcard .pimg img{-o-object-fit:cover;object-fit:cover;width:100%;height:100%}.pcard .pbody{padding:1.75rem}@media (width>=768px){.pcard .pbody{padding:2rem}}.pcard h3{font-family:var(--font-display);margin-top:1rem;font-size:1.5rem}@media (width>=768px){.pcard h3{font-size:1.875rem}}.pcard .pen{font-family:var(--font-display);color:var(--accent);margin-top:.25rem;font-size:1rem;font-weight:500}.pcard .pbz{color:#ede3d2b8;margin-top:1.25rem;font-size:.98rem;line-height:1.85}.access-grid{grid-template-columns:1fr;gap:2.5rem;display:grid}@media (width>=768px){.access-grid{grid-template-columns:repeat(12,1fr)}.access-grid .head{grid-column:span 4}}.access-grid .head h2{font-family:var(--font-display);margin-top:1.25rem;font-size:1.875rem;line-height:1.2}@media (width>=768px){.access-grid .head h2{font-size:3rem}}.access-grid .head .sub{font-family:var(--font-display);color:var(--accent);margin-top:1rem;font-size:1.125rem;font-weight:500}@media (width>=768px){.access-grid .body{grid-column:6/span 7}}.acols{grid-template-columns:1fr;gap:2.5rem;display:grid}@media (width>=640px){.acols{-moz-column-gap:2.5rem;grid-template-columns:1fr 1fr;gap:2.5rem}}.acols .lab{margin-bottom:.75rem}.acols .val{font-family:var(--font-display);font-size:1.125rem;font-weight:500;line-height:1.6}.acols .val.lnk{align-items:center;min-height:2.75rem;transition:color .3s;display:inline-flex}.acols .val.lnk:hover{color:var(--accent)}.acols .sub{color:var(--muted-foreground);margin-top:.5rem;font-size:.875rem}.access-map{margin-top:3.5rem}.foot{flex-direction:column;justify-content:space-between;align-items:flex-start;gap:1.5rem;padding-top:2.5rem;padding-bottom:2.5rem;display:flex}@media (width>=768px){.foot{flex-direction:row;align-items:center;padding-top:3.5rem;padding-bottom:3.5rem}}.foot .fname{font-family:var(--font-display);font-size:1.125rem;font-weight:700}.foot .fr{margin-top:.5rem}.foot .copy{color:var(--muted-foreground);font-size:.75rem}.foot .demo-note{width:100%;color:var(--muted-foreground);opacity:.85;font-size:.68rem;line-height:1.7}.skipnav{position:absolute;left:-9999px}
