



:root{--paper:#faf8f3;--ink:#41382f;--bronze:#916c48;--line:#e2d9cd;--muted:#74695f;--ring:#916c48;--background:#faf8f3;--foreground:#41382f;--muted-foreground:#74695f}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;font-family:var(--font-noto-sans-jp),system-ui,sans-serif;background:var(--paper);color:var(--ink);font-size:16px;line-height:1.85}h1,h2,h3,p,ul,figure{margin:0}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:3px solid var(--bronze);outline-offset:5px}.wrap{width:100%;max-width:1220px;margin:auto;padding:0 40px}.section{padding:76px 0}.brand{font-size:14px;font-weight:700;margin-bottom:44px}.hero{padding:28px 0 58px;background:radial-gradient(ellipse at top right,#e9dece,transparent 70%),var(--paper)}.hero-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);gap:32px;align-items:center}.eyebrow{font-size:13px;letter-spacing:.07em;font-weight:700;color:var(--bronze);margin-bottom:14px}h1{font-size:clamp(28px,3.12vw,39px);font-weight:800;line-height:1.55;letter-spacing:-.035em}h1 span{display:block;white-space:nowrap}h2{font-size:clamp(25px,2.8vw,34px);font-weight:750;line-height:1.6}h3{font-size:22px;font-weight:750;line-height:1.6}.lead{font-size:16px;line-height:1.85;margin-top:22px}.gift-names{display:flex;flex-wrap:wrap;gap:7px 16px;list-style:none;padding:0;margin-top:20px;font-size:13px;color:var(--muted)}.gift-names span{color:var(--bronze);font-weight:700}.action{margin-top:26px}.line-cta{width:100%;max-width:560px;min-height:60px;padding:16px 18px;border:0;border-radius:12px;background:#06a947;color:white;font-family:inherit;font-size:16px;line-height:1.6;font-weight:700;display:flex;gap:12px;align-items:center;justify-content:center;opacity:1;box-shadow:0 8px 20px #06a94715}.line-cta span{flex-shrink:0}.cta-note{margin-top:10px;font-size:12px;color:var(--muted);line-height:1.75}.hero-art{position:relative;isolation:isolate;height:360px}.hero-art figure{position:absolute;width:46%;top:24px;left:0;transform:rotate(-8deg);z-index:1}.hero-art figure:nth-child(2){left:27%;top:0;transform:rotate(0);z-index:3}.hero-art figure:nth-child(3){left:54%;top:28px;transform:rotate(8deg);z-index:2}.hero-art img{display:block;width:100%;height:245px;object-fit:cover;object-position:top;border:1px solid var(--line);border-radius:5px;box-shadow:0 12px 24px #57432c20;background:white}.hero-art figcaption{font-size:12px;font-weight:700;text-align:center;background:var(--paper);line-height:1.5;padding:8px 3px}.mobile-action{display:none}.gifts,.faq-section{background:#fff}.section-heading{text-align:center}.gift-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;margin-top:36px}.gift-preview{padding:18px;background:#f1ece4;border-radius:14px;margin-bottom:22px}.gift-preview img{display:block;width:100%;height:230px;object-fit:contain;object-position:top}.format{font-size:13px;color:var(--bronze);margin-bottom:9px}.gift-catch{font-size:16px;font-weight:700;color:#795a3e;margin-top:12px}.gift-description{font-size:16px;margin-top:12px;line-height:1.85}.profile{display:grid;grid-template-columns:310px 1fr;gap:56px;align-items:start;max-width:1080px}.portrait{width:100%;height:auto;display:block;border-radius:12px}.profile-brand{font-size:14px;font-weight:700;margin-top:14px}.qualifications{list-style:none;border-left:2px solid #b08d68;padding:0 0 0 16px;margin:20px 0 26px;font-size:14px;line-height:1.8}.qualifications li{margin:4px 0}.qualifications small{display:block;font-size:12px;color:var(--muted)}.story p+p{margin-top:18px}.faq{max-width:780px;margin:30px auto 0}.faq [data-slot=accordion-item]{border-bottom:1px solid var(--line)}.faq-question{font-size:16px;line-height:1.75;padding:22px 0;border-radius:0;font-weight:700;gap:16px}.faq-question svg{margin-top:6px}.faq-answer{font-size:16px;line-height:1.85;padding-bottom:22px;color:var(--muted)}.closing{background:#efe7db;text-align:center}.closing .gift-names{justify-content:center}.closing .line-cta{margin:auto}.footer{padding:32px 0;background:var(--paper)}.footer nav{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;font-size:14px}.footer a{color:var(--ink);text-underline-offset:4px}.footer a:hover{text-decoration:underline}.disclaimer{max-width:850px;margin:22px auto 0;font-size:12px;color:var(--muted);line-height:1.85}.copyright{text-align:center;font-size:12px;color:var(--muted);margin-top:22px}.sticky{display:none}
@media(max-width:800px){.wrap{padding:0 22px}.section{padding:46px 0}.brand{font-size:12px;margin-bottom:26px}.hero{padding:20px 0 38px}.hero-grid{display:flex;flex-direction:column;align-items:stretch;gap:0}h1{font-size:clamp(20px,5.65vw,36px);letter-spacing:-.055em;line-height:1.65}.eyebrow{font-size:12px;letter-spacing:.02em}.lead{font-size:16px;margin-top:18px}.gift-names{font-size:13px;gap:6px 12px;margin-top:16px}.hero-art{width:100%;max-width:380px;height:235px;margin:26px auto 0}.hero-art figure{width:42%;left:2%;top:16px}.hero-art figure:nth-child(2){left:29%;top:0}.hero-art figure:nth-child(3){left:56%;top:16px}.hero-art img{height:170px}.hero-art figcaption{font-size:12px;padding:5px 2px}.desktop-action{display:none}.mobile-action{display:block}.mobile-action .action{margin-top:10px}.line-cta{font-size:14px;padding:14px 12px;min-height:58px}.gift-grid{grid-template-columns:1fr;gap:28px;margin-top:28px}.gift{display:grid;grid-template-columns:105px minmax(0,1fr);gap:16px;padding-bottom:26px;border-bottom:1px solid var(--line)}.gift-preview{padding:7px;margin:0;align-self:start}.gift-preview img{height:140px}.format{font-size:12px}h3{font-size:20px}.gift-catch,.gift-description{font-size:16px;margin-top:10px}.profile{grid-template-columns:1fr;gap:28px}.portrait{width:230px;margin:auto}.profile-brand{font-size:14px}.faq-question{font-size:16px}.footer{padding-bottom:110px}.sticky{display:block;position:fixed;left:0;right:0;bottom:0;z-index:20;background:#faf8f3f5;border-top:1px solid var(--line);padding:10px 16px calc(10px + env(safe-area-inset-bottom))}.sticky .action{margin:0}.sticky .line-cta{margin:auto;min-height:48px;font-size:13px;padding:10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}
@media(min-width:801px){.profile .portrait{align-self:center}}
.gift-preview .dictionary-demo{display:block;width:100%;height:230px;object-fit:contain;object-position:top}
@media(max-width:800px){.gift-preview .dictionary-demo{height:140px}}
