:root{--bg: #fbf7f3;--bg-soft: #f6ede7;--surface: #ffffff;--line: #eadcd3;--text: #5c463d;--muted: #8b756b;--brand: #d7a69b;--brand-strong: #c98d81;--shadow: 0 18px 44px rgba(87, 60, 49, .08);--shadow-soft: 0 10px 24px rgba(87, 60, 49, .06);--ff-serif: "Zen Old Mincho", "Yu Mincho", "Hiragino Mincho ProN", serif;--ff-sans: "Zen Kaku Gothic New", "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;--ff-display: "Cormorant Garamond", "Zen Old Mincho", serif}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--text);background:radial-gradient(circle at top left,rgba(215,166,155,.16),transparent 28%),radial-gradient(circle at 92% 10%,rgba(245,224,215,.55),transparent 24%),var(--bg);font-family:var(--ff-sans);font-weight:400;font-feature-settings:"palt" 1;line-height:1.8}img{display:block;max-width:100%}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}:where(a,button,summary):focus-visible{outline:2px solid var(--brand-strong);outline-offset:4px}.wrap{width:min(1180px,calc(100% - 48px));margin-inline:auto}.section{padding:92px 0}.eyebrow{display:inline-flex;align-items:center;gap:10px;margin:0 0 12px;color:var(--brand-strong);font-family:var(--ff-display);font-size:1.05rem;letter-spacing:.08em}.eyebrow:after{content:"";width:48px;height:1px;background:linear-gradient(90deg,var(--brand-strong),transparent)}.section-title,.page-hero h1,.logo-title,.footer-logo-title{margin:0;color:var(--text);font-family:var(--ff-serif);font-weight:600;font-feature-settings:"palt" 1}.section-title{font-size:clamp(2rem,3vw,3.15rem);line-height:1.25}.section-lead{max-width:760px;margin:14px 0 0;color:var(--muted);font-size:1.02rem}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:52px;padding:.9rem 1.45rem;border-radius:999px;border:1px solid transparent;font-weight:700;letter-spacing:.04em;transition:transform .2s ease,background .2s ease,border-color .2s ease,color .2s ease}.btn:hover{transform:translateY(-1px)}.btn-primary{background:linear-gradient(135deg,var(--brand),var(--brand-strong));color:#fff}.btn-secondary{border-color:var(--line);background:#ffffffbd;color:var(--text)}.header{position:sticky;top:0;z-index:100;border-bottom:1px solid rgba(234,220,211,.84);background:#fffaf8e0;backdrop-filter:blur(18px)}.header-inner{width:min(1240px,calc(100% - 32px));min-height:88px;margin-inline:auto;display:flex;align-items:center;gap:22px}.logo,.footer-logo{display:inline-flex;align-items:center;gap:14px}.logo-mark,.footer-logo-mark{width:58px;aspect-ratio:1;border-radius:999px;overflow:hidden;border:1px solid rgba(201,141,129,.28);background:#ffffffdb}.logo-mark img,.footer-logo-mark img{width:100%;height:100%;object-fit:cover}.logo-copy,.footer-logo-copy{display:grid;gap:4px}.logo-title{font-size:1.15rem;letter-spacing:.06em}.logo-subtitle,.footer-logo-subtitle{color:var(--brand-strong);font-family:var(--ff-display);font-size:.95rem;letter-spacing:.12em}.nav{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.95rem 1.3rem;margin-left:auto;font-size:.92rem;font-weight:500;letter-spacing:.035em}.nav a{position:relative;color:var(--text);white-space:nowrap}.nav a:after{content:"";position:absolute;inset:auto 0 -8px;height:1px;background:linear-gradient(90deg,var(--brand-strong),transparent);transform:scaleX(0);transform-origin:left;transition:transform .2s ease}.nav a:hover:after,.nav a.active:after{transform:scaleX(1)}.header-cta{display:inline-flex;align-items:center;gap:12px;min-height:58px;margin-left:auto;padding:.85rem 1.15rem;border-radius:14px;background:linear-gradient(135deg,var(--brand),var(--brand-strong));color:#fff}.header-cta span{font-size:.92rem;font-weight:700}.header-cta small{font-size:.73rem;letter-spacing:.06em;opacity:.9}.hamburger{display:none;margin-left:auto;width:44px;height:44px;padding:0;border:1px solid var(--line);border-radius:999px;background:#ffffffd6;align-items:center;justify-content:center;gap:5px;flex-direction:column}.hamburger span{display:block;width:18px;height:1.5px;background:var(--text);transition:transform .2s ease,opacity .2s ease}.hamburger.open span:nth-child(1){transform:translateY(6px) rotate(45deg)}.hamburger.open span:nth-child(2){opacity:0}.hamburger.open span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}.menu-drawer{display:none}.season-banner{padding:.7rem 1rem;background:linear-gradient(90deg,#c98d81f0,#d7a69bf0);color:#fff;text-align:center;font-size:.92rem}.page-hero{position:relative;overflow:clip;padding:86px 0 58px}.deco-hero:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 16% 18%,rgba(201,141,129,.12),transparent 24%),radial-gradient(circle at 84% 12%,rgba(247,231,225,.88),transparent 22%);pointer-events:none}.deco-hero .side-grid{position:absolute;top:0;bottom:0;width:120px;opacity:.42;pointer-events:none}.deco-hero .side-grid.left{left:0;background:linear-gradient(90deg,rgba(201,141,129,.12),transparent)}.deco-hero .side-grid.right{right:0;background:linear-gradient(270deg,rgba(201,141,129,.1),transparent)}.page-hero-inner{position:relative;display:grid;gap:32px}.page-hero-inner.has-visual{grid-template-columns:minmax(0,1.08fr) minmax(280px,.92fr);align-items:center}.page-hero-kicker{margin:0 0 12px;color:var(--brand-strong);font-family:var(--ff-display);font-size:1.1rem;letter-spacing:.12em}.breadcrumb{display:flex;flex-wrap:wrap;align-items:center;gap:.45rem;margin-bottom:18px;color:var(--muted);font-size:.85rem}.page-hero h1{font-size:clamp(2.2rem,4vw,4.1rem);line-height:1.1}.page-hero-lead{max-width:700px;margin:18px 0 0;color:var(--muted);font-size:1.02rem}.page-hero-visual img{width:100%;min-height:280px;object-fit:cover;border-radius:28px;box-shadow:var(--shadow)}.footer{margin-top:40px;padding:36px 0 22px;border-top:1px solid rgba(234,220,211,.86);background:#fffaf8d6}.footer-inner{width:min(1240px,calc(100% - 32px));margin-inline:auto;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(260px,.8fr) minmax(240px,.9fr);gap:28px}.footer-desc{max-width:30rem;margin:0;color:var(--muted)}.footer-company{display:grid;grid-template-columns:auto 1fr;gap:.65rem 1rem;margin:0}.footer-company dt{color:var(--brand-strong);font-weight:700}.footer-company dd{margin:0;color:var(--muted)}.footer-nav{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.7rem 1.1rem}.footer-bottom{width:min(1240px,calc(100% - 32px));margin:24px auto 0;padding-top:18px;border-top:1px solid rgba(234,220,211,.72);color:var(--muted);font-size:.82rem;text-align:center}.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease}.reveal.is-visible{opacity:1;transform:translateY(0)}.character-reveal{overflow:visible}.reveal-character{display:inline-block;opacity:0;filter:blur(8px);transform:translateY(.72em) rotate(1.5deg);transition:opacity .72s cubic-bezier(.2,.72,.2,1),filter .8s ease,transform .92s cubic-bezier(.16,1,.3,1);transition-delay:calc(70ms + var(--character-index, 0) * 30ms);will-change:opacity,filter,transform}.character-reveal.is-visible .reveal-character{opacity:1;filter:blur(0);transform:translateY(0) rotate(0)}.soft-text-reveal{opacity:0;filter:blur(6px);transform:translateY(16px);transition:opacity .75s ease,filter .78s ease,transform .88s cubic-bezier(.16,1,.3,1);will-change:opacity,filter,transform}.soft-text-reveal.is-visible{opacity:1;filter:blur(0);transform:translateY(0)}@media(prefers-reduced-motion:reduce){.reveal-character,.soft-text-reveal{opacity:1;filter:none;transform:none;transition:none}}@media(max-width:1080px){.nav,.header-cta{display:none}.hamburger{display:inline-flex}.menu-drawer{display:none;position:fixed;inset:88px 12px auto;z-index:99;padding:18px;border:1px solid rgba(234,220,211,.9);border-radius:24px;background:#fffdfbfa}.menu-drawer.open{display:grid;gap:.65rem}.menu-drawer a{padding:.8rem .2rem;border-bottom:1px solid rgba(234,220,211,.72)}.drawer-cta{margin-top:6px;padding:.95rem 1.1rem;border-radius:999px;background:linear-gradient(135deg,var(--brand),var(--brand-strong));color:#fff;text-align:center;font-weight:700}.page-hero-inner.has-visual,.footer-inner{grid-template-columns:1fr}}@media(max-width:760px){.wrap,.header-inner,.footer-inner,.footer-bottom{width:min(100%,calc(100% - 24px))}.page-hero{padding:72px 0 44px}.section{padding:72px 0}.footer-company{grid-template-columns:1fr}}
