:root{--paper:#f6f6f2;--ink:#191b19;--muted:#62665f;--line:#d4d7cc;--acid:#d8fc50;--dark:#20241f;--gutter:clamp(1.25rem,5.5vw,6rem)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:6rem}body{margin:0;background:var(--paper);color:var(--ink);font-family:'Inter','Noto Sans JP',sans-serif;line-height:1.8;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}a:focus-visible{outline:3px solid #5b7400;outline-offset:6px}::selection{background:var(--acid);color:var(--ink)}h1,h2,h3,p{margin:0}a,button{-webkit-tap-highlight-color:transparent}a{touch-action:manipulation}.skip-link{position:fixed;top:-100px;left:1rem;background:var(--acid);padding:1rem;z-index:200}.skip-link:focus{top:1rem}.site-header{display:flex;align-items:center;justify-content:space-between;gap:2rem;min-height:96px;padding:1.4rem var(--gutter);border-bottom:1px solid var(--line)}.wordmark{display:inline-flex;align-items:baseline;white-space:nowrap;font-size:1.6rem;line-height:1;font-weight:800;letter-spacing:-.08em}.brand-dot{width:.5rem;height:.5rem;background:var(--ink);border-radius:50%;margin-left:.22rem}.site-header nav{display:flex;align-items:center;gap:2.2rem;font-size:.875rem;font-weight:500}.site-header nav>a{padding:.45rem 0}.site-header nav>a:hover{box-shadow:0 1px 0 currentColor}.site-header nav .nav-contact{display:flex;gap:2.7rem;align-items:center;border:1px solid var(--ink);border-radius:100px;padding:.5rem 1.2rem}.nav-contact:hover{background:var(--ink);color:var(--paper)}.hero{padding:2rem var(--gutter) 3.5rem}.hero-meta{display:flex;justify-content:space-between;gap:1rem;font-size:.75rem;letter-spacing:.08em;font-weight:500}.hero-meta i{display:inline-block;height:.5rem;width:.5rem;border-radius:50%;background:#5e7912;margin-right:.65rem}.hero h1{font-size:clamp(3.5rem,9.5vw,9.4rem);letter-spacing:-.075em;line-height:1.06;font-weight:800;margin:3.1rem 0 3.3rem;white-space:nowrap}.fun{display:inline-block;position:relative;z-index:0}.fun:before{content:'';position:absolute;inset:12% -4% 0;z-index:-1;background:var(--acid);transform:rotate(-5deg)}.period{color:#72873d}.hero-bottom{display:grid;grid-template-columns:1.1fr 1fr auto;align-items:end;gap:2rem}.hero-japanese{font-size:clamp(1.5rem,2.6vw,2.6rem);line-height:1.55;font-weight:700;letter-spacing:-.055em}.hero-description{font-size:.9375rem}.hero-description p{color:var(--muted);line-height:1.9}.text-link{display:inline-flex;justify-content:space-between;align-items:center;gap:2rem;border-bottom:1px solid currentColor;padding:.5rem 0;margin-top:1.1rem;font-size:.875rem;font-weight:500}.text-link span{font-size:1.4rem;transition:transform .2s}.text-link:hover span{transform:translate(3px,-3px)}.scroll-cue{display:flex;flex-direction:column;align-items:center;gap:1.1rem}.scroll-cue>span{border:1px solid var(--line);border-radius:50%;width:60px;height:60px;display:grid;place-items:center;font-size:1.8rem;transition:background .2s}.scroll-cue:hover>span{background:var(--acid)}.scroll-cue small{font-size:.75rem;writing-mode:vertical-rl;letter-spacing:.05em}.statement-strip{display:flex;justify-content:space-between;align-items:center;gap:2rem;padding:1.1rem var(--gutter);background:var(--acid);font-size:clamp(.75rem,1.25vw,1rem);font-weight:600;letter-spacing:.03em}.statement-strip span:nth-child(even){font-size:1.7rem;line-height:1}.section-pad{padding:6rem var(--gutter)}.section-label{display:flex;justify-content:space-between;gap:1rem;font-size:.75rem;font-weight:500;letter-spacing:.04em}.section-label h2{font-size:inherit;font-weight:inherit}.about-layout{display:grid;grid-template-columns:1fr 1fr;gap:5rem;padding-top:3.8rem}.about h2{font-size:clamp(2.7rem,4.7vw,4.8rem);letter-spacing:-.055em;line-height:1.55}.about h2 span{color:#858b7c}.about-copy{max-width:33rem}.about-copy .lead{font-weight:600;color:var(--ink);font-size:1.4rem;line-height:1.7;margin-bottom:1.6rem}.about-copy p{color:var(--muted);margin-top:1.1rem;font-size:1rem;line-height:2}.products{border-top:1px solid var(--line);background:#edeee8}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:2rem;margin:2.8rem 0 3rem}.section-heading h2,.service-layout h2{font-size:clamp(2.6rem,4.8vw,5rem);letter-spacing:-.065em;line-height:1.1;font-weight:600}.section-heading p{color:var(--muted);font-size:.9375rem}.product-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:3.5rem 2rem}.product-visual{height:350px;position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden;border-radius:3px}.attendance{background:#d9e1f4}.charm{background:#e5d8ee}.ladynavi{background:#f2dce0}.product-visual img{width:148px;height:148px;object-fit:contain;border-radius:30px;box-shadow:0 22px 36px -15px #26232855;transform:rotate(-8deg);transition:transform .45s}.charm img{transform:rotate(8deg)}.product-visual:hover img{transform:rotate(0) translateY(-6px)}.visual-tag{position:absolute;top:1.5rem;left:1.6rem;font-size:.75rem;letter-spacing:.08em}.visual-caption{position:absolute;left:1.6rem;bottom:1.5rem;font-size:.875rem;font-weight:500}.round-arrow{position:absolute;right:1.4rem;bottom:1.3rem;border:1px solid #191b1940;border-radius:50%;width:40px;height:40px;display:grid;place-items:center;font-size:1.5rem;transition:background .2s}.product-visual:hover .round-arrow{background:var(--paper)}.product-info{padding-top:1.4rem}.product-title{display:flex;align-items:center;justify-content:space-between}.product-title h3{font-size:1.5rem;font-weight:600;letter-spacing:-.04em}.product-title>span{font-size:.75rem;color:var(--muted)}.product-title a:hover{text-decoration:underline;text-underline-offset:5px}.product-info p{color:var(--muted);font-size:.9375rem;line-height:1.9;margin:.65rem 0 1rem;max-width:34rem}.product-links{display:flex;flex-wrap:wrap;gap:.4rem 1.5rem}.product-links a{font-size:.875rem;padding:.2rem 0;border-bottom:1px solid var(--line)}.product-links a:hover{border-color:var(--ink)}.shrine{background:#703829;color:#fff5df}.shrine .round-arrow{border-color:#fff5df60}.shrine:hover .round-arrow{color:var(--ink)}.shrine-type{font-family:'Noto Sans JP',sans-serif;font-size:2.6rem;font-weight:500;line-height:1.2;letter-spacing:.2em;position:relative}.shrine-seal{position:absolute;right:-4rem;bottom:.25rem;writing-mode:vertical-rl;font-size:.75rem;border:1px solid #fff5df80;padding:.5rem .25rem;letter-spacing:.2em}.services{background:var(--dark);color:var(--paper)}.services .section-label{color:#c2c7b9}.service-layout{display:grid;grid-template-columns:1.2fr 1fr;gap:5rem;padding-top:4rem}.service-layout h2 span{color:var(--acid)}.service-copy{position:relative;padding-top:.4rem}.service-icon{color:var(--acid);font-size:3.5rem;line-height:1;display:block;margin-bottom:2rem}.service-copy h3{font-size:1.35rem;font-weight:500;margin-bottom:1rem}.service-copy p{font-size:1rem;line-height:2;color:#bbc2b4}.service-tags{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1.5rem}.service-tags span{border:1px solid #626859;padding:.2rem .8rem;border-radius:30px;font-size:.75rem}.service-copy .text-link{color:var(--acid);margin-top:2rem}.company{display:grid;grid-template-columns:1fr 1.6fr;gap:4rem}.company dl{margin:0}.company dl>div{display:grid;grid-template-columns:7rem 1fr;gap:1rem;padding:1.2rem 0;border-bottom:1px solid var(--line);font-size:.9375rem}.company dl>div:first-child{padding-top:0}.company dt{color:var(--muted)}.company dd{margin:0;overflow-wrap:anywhere}.company a:hover{text-decoration:underline}.contact{background:var(--acid);padding-top:3rem;padding-bottom:3rem}.contact-heading{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin:2rem 0 .6rem}.contact-heading h2{font-size:clamp(3rem,9.5vw,9rem);letter-spacing:-.075em;line-height:1.1;font-weight:600}.contact-heading>span{font-size:clamp(3rem,8vw,8rem);line-height:1;transition:transform .3s}.contact-heading:hover>span{transform:translate(7px,-7px)}.contact-heading h2>span{color:#688022}.contact>p{font-size:.9375rem}.site-footer{display:flex;align-items:center;flex-wrap:wrap;justify-content:space-between;gap:2rem;padding:2.5rem var(--gutter)}.site-footer .wordmark{font-size:1.3rem}.footer-links{display:flex;flex-wrap:wrap;gap:.5rem 1.5rem;font-size:.75rem;color:var(--muted)}.footer-links a:hover{text-decoration:underline}.site-footer small{font-size:.75rem;color:var(--muted)}
@media(min-width:1600px){body{max-width:1800px;margin:auto}.hero h1{font-size:10rem}}
@media(max-width:900px){.hero h1{font-size:9.3vw}.hero-bottom{grid-template-columns:1fr 1fr}.scroll-cue{display:none}.section-pad{padding-top:4rem;padding-bottom:4rem}.about-layout,.service-layout{gap:2rem}.site-header nav{gap:1.2rem}.product-visual{height:300px}.company{grid-template-columns:1fr;gap:2rem}.service-layout h2{font-size:3rem}.site-footer{gap:1.5rem}}
@media(max-width:600px){.site-header{min-height:0;flex-wrap:wrap;gap:1.25rem;padding-top:1.25rem;padding-bottom:1.1rem}.wordmark{font-size:1.5rem}.site-header nav{width:100%;justify-content:space-between;gap:.6rem;font-size:.875rem}.site-header nav .nav-contact{padding:.3rem .8rem;gap:.8rem}.hero{padding-top:1.5rem;padding-bottom:2.5rem}.hero-meta{font-size:.75rem}.hero-meta>span:last-child{display:none}.hero h1{font-size:9.6vw;letter-spacing:-.075em;margin:2.7rem 0;line-height:1.15}.hero-bottom{grid-template-columns:1fr;gap:1.5rem}.hero-japanese{font-size:1.8rem}.hero-description p{font-size:.9375rem}.hero-description br:first-child{display:none}.statement-strip{gap:1rem;font-size:.75rem}.statement-strip span:nth-last-child(-n+2){display:none}.section-label{font-size:.75rem;flex-wrap:wrap;gap:.5rem}.about-layout,.service-layout{grid-template-columns:1fr;gap:2rem;padding-top:2rem}.about h2{font-size:2.7rem;line-height:1.45}.about-copy .lead{font-size:1.2rem}.section-heading{align-items:start;flex-direction:column;margin:2rem 0}.section-heading h2{font-size:2.8rem}.product-grid{grid-template-columns:1fr;gap:2.6rem}.product-visual{height:320px}.service-layout h2{font-size:2.7rem}.service-icon{margin-bottom:1rem}.company dl>div{grid-template-columns:4rem 1fr;font-size:.875rem}.contact-heading h2{font-size:11vw}.contact-heading>span{font-size:3rem}.contact>p{font-size:.875rem}.site-footer{align-items:flex-start;flex-direction:column}.footer-links{gap:.6rem 1rem}}
.wordmark{align-items:center;flex-shrink:0;letter-spacing:normal}
.brand-logo{display:block;width:200px;max-width:100%;height:auto}
.site-footer .brand-logo{width:190px}
@media(max-width:600px){.brand-logo{width:170px}.site-footer .brand-logo{width:170px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}
