@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;600&family=Noto+Serif+JP:wght@400;500;600&display=swap');
:root{--paper:#faf7ef;--green:#284c3f;--muted:#777e70;--border:#dcded0;--peach:#edddc9}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--paper);color:var(--green);font-family:'Noto Sans JP',sans-serif;font-size:14px;line-height:1.9}button,input,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #ba744d;outline-offset:5px}.notice{background:var(--green);color:#f8f5e9;text-align:center;font-size:10px;letter-spacing:.14em;padding:8px}.notice span{margin-left:22px;opacity:.65;font-family:Georgia,serif}.header{max-width:1440px;margin:auto;padding:28px 6%;display:flex;align-items:center;justify-content:space-between}.logo{font:37px/1 Georgia,serif;letter-spacing:-1.7px;position:relative;display:inline-block}.logo>span{display:block;font:10px/1.4 Georgia,serif;letter-spacing:2px;margin-bottom:5px}.logo i{font-size:32px;font-style:normal;position:absolute;right:-29px;top:15px}.header nav{display:flex;gap:32px;align-items:center;font-size:12px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:45px;background:var(--green);color:var(--paper);padding:18px 26px;border:1px solid var(--green);font-size:12px;transition:background .2s,transform .2s}.button:hover{background:#3e6554;transform:translateY(-2px)}.button span{font-size:21px;line-height:1}.button.small{padding:12px 21px;gap:25px}.menu-toggle{display:none}.hero{max-width:1440px;display:grid;grid-template-columns:1fr 1fr;margin:0 auto;padding:18px 6% 55px;gap:40px;min-height:610px}.hero-copy{padding:55px 0 10px}.eyebrow{font:10px/1.6 sans-serif;letter-spacing:2.3px;margin:0 0 25px}.hero h1{font-family:'Noto Serif JP',serif;font-size:clamp(32px,3.7vw,56px);font-weight:400;line-height:1.8;letter-spacing:.06em;margin:0 0 23px}.hero h1 em{font-style:normal;position:relative}.hero h1 em:after{content:'';position:absolute;height:8px;background:#d8b99070;bottom:7px;left:0;right:0;z-index:-1}.intro{font-size:13px;line-height:2.3;margin-bottom:32px}.hero-bottom{display:flex;align-items:center;gap:15px;font:italic 12px Georgia,serif;margin-top:42px;color:var(--muted)}.line{width:35px;height:1px;background:#a6ad9a}.hero-art{background:var(--peach);border-radius:47% 47% 5px 5px;position:relative;min-height:535px;overflow:hidden;display:flex;align-items:center;justify-content:center}.art-label{position:absolute;top:53px;font:10px Georgia,serif;letter-spacing:3px}.sun-disc{width:330px;height:330px;border:1px solid #fff7eaaa;position:absolute;border-radius:50%;top:112px}.cake-illustration{position:relative;width:95%;z-index:1;transform:rotate(-7deg);filter:drop-shadow(3px 22px 16px #94785933)}.cake-illustration svg{width:100%;display:block}.seal{position:absolute;right:20px;top:122px;z-index:2;background:#f8f4e8;border:1px solid var(--green);outline:5px solid #f8f4e8;border-radius:50%;width:100px;height:100px;display:flex;flex-direction:column;align-items:center;justify-content:center;font:7px/1.8 sans-serif;letter-spacing:1px;transform:rotate(14deg)}.seal span{font:italic 19px/1.6 Georgia,serif;letter-spacing:0}.art-caption{position:absolute;bottom:20px;left:30px;right:30px;display:flex;align-items:center;justify-content:space-between}.art-caption>span:first-child{font-size:10px;letter-spacing:2px}.art-caption p{font-size:12px;line-height:1.7;margin:0}.art-caption small{display:block;font:italic 13px Georgia,serif;opacity:.7}.sparkle{font-size:40px}.ticker{border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:17px;display:flex;gap:42px;justify-content:center;white-space:nowrap;overflow:hidden;font:12px Georgia,serif;letter-spacing:2px}.ticker span{color:#a77c50}.section{max-width:1440px;padding:85px 6%;margin:auto}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:20px}.section h2{font-family:'Noto Serif JP',serif;font-size:29px;font-weight:400;line-height:1.8;margin:0}.section-heading p:not(.eyebrow){font-size:12px;color:var(--muted)}.filters{display:flex;gap:10px;margin:35px 0 28px;flex-wrap:wrap}.filters button{background:transparent;border:1px solid var(--border);border-radius:30px;padding:9px 25px;color:var(--green);font-size:11px}.filters button.active{background:var(--green);color:var(--paper);border-color:var(--green)}.cake-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}.cake-card{animation:appear .3s ease}.cake-card .product-art{aspect-ratio:1/1;background:#efe5d7;display:flex;align-items:center;position:relative;overflow:hidden}.product-art svg{width:100%;transition:transform .35s}.cake-card:hover svg{transform:scale(1.06) rotate(-3deg)}.cake-card:nth-child(2) .product-art{background:#e8e9dd}.cake-card:nth-child(3) .product-art{background:#eaddd0}.cake-card:nth-child(4) .product-art{background:#eee8db}.product-tag{position:absolute;top:12px;left:12px;font-size:9px;background:var(--paper);padding:3px 9px;z-index:1}.cake-card h3{font:500 14px 'Noto Serif JP',serif;margin:19px 0 7px}.cake-card p{font-size:11px;color:var(--muted);margin:0 0 12px}.price-row{display:flex;align-items:center;justify-content:space-between}.price-row span{font:17px Georgia,serif}.product-button{background:none;border:1px solid #b8c0af;border-radius:50%;width:32px;height:32px;color:var(--green);font-size:18px}.product-button:hover{background:var(--green);color:white}.menu-note{font-size:10px;color:var(--muted);margin-top:25px}.story{display:grid;grid-template-columns:1fr 1fr;gap:9%;padding-top:35px}.story-art{background:#e4e8dc;min-height:400px;padding:47px;position:relative;overflow:hidden}.story-word{font:64px/1.15 Georgia,serif;letter-spacing:-3px;position:relative;z-index:1}.story-word em{font-weight:400;color:#7b8766}.story-art>span{position:absolute;bottom:28px;font-size:8px;letter-spacing:2px}.branch{position:absolute;right:-10px;bottom:0;font:230px Georgia,serif;color:#aab59b;transform:rotate(-35deg)}.story-copy{padding:15px 0}.story-copy>p:not(.eyebrow){font-size:12px;line-height:2.5;margin:24px 0}.values{display:flex;justify-content:space-between;border-top:1px solid var(--border);padding-top:22px;font:italic 15px Georgia,serif}.values b{font:10px 'Noto Sans JP',sans-serif;margin-left:8px}.occasion{background:#eee5d6;text-align:center;position:relative;overflow:hidden;max-width:none;padding:65px 8%}.occasion h2{font-size:28px;position:relative;z-index:1}.occasion>p:not(.eyebrow){font-size:12px;line-height:2.2;margin:20px 0 25px}.occasion-flower{position:absolute;right:5%;top:30px;font-size:170px;color:#ddceb9;transform:rotate(10deg)}.shop{display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:center}.shop p{font-size:12px;margin-top:25px}.shop dl{font-size:11px;margin-top:28px}.shop dl>div{display:flex;border-bottom:1px solid var(--border);padding:10px 0}.shop dt{min-width:90px}.shop dd{margin:0}.demo-note{font-size:10px!important;color:var(--muted);line-height:1.9}.shop-picture{height:340px;background:#e8ddc8;position:relative;border-radius:48% 48% 0 0;overflow:hidden;border-bottom:12px solid #bcb8a2}.awning{position:absolute;top:98px;left:12%;right:12%;height:47px;background:repeating-linear-gradient(90deg,#506c52 0 23px,#f8f0d9 23px 46px);border-radius:2px 2px 10px 10px;box-shadow:0 7px 10px #0001;z-index:2}.shop-sign{position:absolute;top:52px;width:100%;text-align:center;font:10px Georgia,serif}.shop-sign strong{display:block;font:26px Georgia,serif}.window{position:absolute;bottom:22px;left:16%;width:36%;height:145px;background:#c6d1bf;border:9px solid #697a5a;display:flex;align-items:end;justify-content:center;gap:5px;color:#f8e9c6;font-size:29px}.window:after{position:absolute;content:'';width:100%;height:5px;background:#697a5a;top:45%}.door{position:absolute;bottom:0;right:17%;width:24%;height:182px;background:#48644e;border:8px solid #697a5a;display:flex;justify-content:center}.door:before{content:'';position:absolute;top:8px;width:84%;height:92px;background:#b9c9b5}.door span{font:9px Georgia,serif;background:#faf3da;position:absolute;top:42px;padding:5px;transform:rotate(-7deg)}.plant{position:absolute;font:90px Georgia,serif;bottom:0;left:4%;color:#6f8054}.pavement{position:absolute;bottom:0;height:7px;background:#a49d85;width:100%}footer{padding:45px 6% 25px;background:var(--green);color:var(--paper);display:grid;grid-template-columns:1fr 1fr auto;align-items:center;gap:30px}footer p{font-size:12px;justify-self:center}footer>a:last-of-type{font:9px sans-serif;letter-spacing:2px}footer small{grid-column:1/-1;border-top:1px solid #ffffff25;padding-top:23px;font-size:9px;opacity:.6}dialog{border:0;background:var(--paper);color:var(--green);padding:38px;max-width:480px;width:calc(100% - 32px);max-height:90vh;box-shadow:0 20px 100px #0003}dialog::backdrop{background:#1a3029aa;backdrop-filter:blur(4px)}dialog h2{font-family:'Noto Serif JP',serif;font-weight:400}.dialog-close{position:absolute;right:15px;top:8px;font-size:28px;border:0;background:none;color:var(--green)}form label{display:block;font-size:12px;margin:20px 0}input,select{display:block;width:100%;padding:12px;background:#fffdf8;border:1px solid #bbc4b7;color:var(--green);margin-top:7px;border-radius:0}form .button{width:100%;margin-top:15px}.form-help{font-size:10px;color:var(--muted)}#confirmation-text{white-space:pre-line;font-size:13px}.skip{position:fixed;left:20px;top:-70px;background:var(--green);color:white;padding:10px;z-index:100}.skip:focus{top:10px}@keyframes appear{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@media(min-width:1500px){.hero{min-height:680px}.hero-art{min-height:585px}}@media(max-width:900px){.header nav{gap:18px}.hero{gap:22px;padding-top:8px;min-height:520px}.hero-copy{padding-top:30px}.hero-art{min-height:460px}.seal{width:80px;height:80px;right:15px;top:108px;font-size:6px}.seal span{font-size:16px}.cake-grid{grid-template-columns:repeat(2,1fr)}.story{gap:6%}.story-art{padding:32px}.story-word{font-size:53px}.values{flex-wrap:wrap;gap:15px}.occasion-flower{right:-40px;opacity:.5}.shop{gap:6%}.shop-picture{height:300px}.section{padding-top:60px;padding-bottom:60px}}
@media(max-width:640px){.notice{font-size:9px}.notice span{display:none}.header{padding:24px 6%;position:relative;z-index:5}.logo{font-size:31px}.menu-toggle{display:block;border:0;background:none;color:var(--green);font-size:11px}.menu-toggle span{font-size:19px;margin-left:10px}.header nav{display:none;position:absolute;top:90px;left:0;right:0;background:var(--paper);padding:25px 6%;box-shadow:0 12px 15px #0001;align-items:stretch;flex-direction:column}.header nav.open{display:flex}.hero{grid-template-columns:1fr;gap:35px;padding-bottom:35px}.hero-copy{padding-top:20px}.hero .eyebrow{font-size:9px;margin-bottom:18px}.hero h1{font-size:38px;line-height:1.7}.intro{font-size:12px}.hero-bottom{margin-top:26px}.hero-art{min-height:430px;border-radius:46% 46% 3px 3px}.cake-illustration{max-width:450px}.art-label{top:37px}.seal{top:88px}.sun-disc{top:70px;width:270px;height:270px}.ticker{font-size:10px;gap:25px;padding:14px}.section-heading{display:block}.section h2{font-size:24px}.section-heading p:not(.eyebrow){margin-top:15px;font-size:11px}.eyebrow{margin-bottom:16px}.filters{gap:7px;margin-top:25px}.filters button{padding:8px 13px;font-size:10px}.cake-grid{gap:25px 15px}.cake-card h3{font-size:12px;margin-top:13px}.cake-card p{font-size:10px;min-height:38px}.product-tag{font-size:8px;left:8px;top:8px}.price-row span{font-size:16px}.story{grid-template-columns:1fr;gap:30px;padding-top:15px}.story-art{min-height:310px}.story-word{font-size:59px}.story-copy{padding:0}.values{justify-content:flex-start;gap:23px}.occasion{padding-top:45px;padding-bottom:45px}.occasion h2{font-size:21px}.occasion-flower{font-size:120px;top:0}.shop{grid-template-columns:1fr;gap:30px}.shop-picture{max-width:400px;width:100%;justify-self:center;height:320px}footer{grid-template-columns:1fr auto;gap:25px}footer p{grid-row:2;justify-self:start;font-size:11px}footer>a:last-of-type{grid-column:2;grid-row:1}footer small{font-size:8px}dialog{padding:30px 24px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}

/* Supplied photograph: keep the cake centered across screen sizes. */
.hero-photo{isolation:isolate;background:#d2c9bb}
.hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 43%;z-index:-2}
.hero-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(250,247,239,.12) 0%,transparent 65%,rgba(250,247,239,.9) 100%);z-index:-1;pointer-events:none}
.hero-photo .art-label{top:46px;font-size:9px;letter-spacing:2px}
.hero-photo .art-caption{bottom:23px}
@media(max-width:640px){.hero-photo{min-height:480px}.hero-photo .art-label{top:35px}}

