@charset "UTF-8";
:root{--ink:#282524;--deep:#be3641;--paper:#fbf9f5;--sand:#eee8dd;--line:#e6d8d4;--rust:#a85d45;--muted:#625651;--serif:"Yu Mincho","YuMincho","Hiragino Mincho ProN","Noto Serif JP",serif;--sans:"Yu Gothic","YuGothic","Hiragino Kaku Gothic ProN",sans-serif;--ease:cubic-bezier(.2,.65,.3,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:95px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:26px;line-height:1.85;min-width:1040px}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{color:inherit;cursor:pointer}img{max-width:100%;display:block}button{border:0;background:none}button:disabled{cursor:default;opacity:.35}a,button{touch-action:manipulation}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #bd7659;outline-offset:5px}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-weight:500}h1,h2{font-family:var(--serif);letter-spacing:0;line-height:1.5}h2{font-size:46px;margin-bottom:24px}h3{font-size:26px}p{margin-bottom:24px}section[id]{scroll-margin-top:70px}[hidden]{display:none!important}.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;left:16px;top:-100px;z-index:100;background:var(--paper);padding:12px}.skip-link:focus{top:12px}
.preview-bar{height:30px;background:#e9e6df;color:#625551;display:flex;align-items:center;justify-content:center;gap:24px;font-size:22px;letter-spacing:.04em}.preview-bar a[aria-current=page]{text-decoration:underline;text-underline-offset:4px}.preview-bar button{font-size:22px;text-decoration:underline;text-underline-offset:4px}.announcement{height:35px;display:flex;align-items:center;justify-content:center;gap:20px;background:var(--deep);color:#fff;font-size:22px;letter-spacing:.06em}.announcement a{border-bottom:1px solid #e7b7bc}.header-utility{height:31px;display:flex;align-items:center;justify-content:space-between;max-width:1360px;margin:auto;padding:0 48px;color:#7b6963;font-size:22px}.header-utility div{display:flex;gap:24px}.brand-row{height:106px;display:grid;grid-template-columns:1fr 1fr 1fr;align-items:center;max-width:1360px;padding:0 48px;margin:auto}.brand{text-align:center;display:inline-flex;align-items:center;justify-content:center;flex-direction:column;line-height:1}.brand-name{font:54px Georgia,serif;letter-spacing:.17em;padding-left:.17em}.brand-subtitle{font-size:22px;letter-spacing:.16em;margin-top:13px}.header-search{justify-self:start;display:flex;gap:12px;align-items:center;font-size:22px}.header-actions{justify-self:end;display:flex;gap:15px;align-items:center;font-size:22px}.icon{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.4}.list-count{min-width:20px;height:20px;border:1px solid var(--line);border-radius:100%;display:inline-grid;place-items:center;font-size:22px}.main-nav{height:50px;display:flex;align-items:center;justify-content:center;gap:48px;border-bottom:1px solid var(--line);font-size:26px;letter-spacing:.05em}.main-nav a{height:100%;display:flex;align-items:center;gap:9px;position:relative}.main-nav a:after{content:"";position:absolute;bottom:0;left:0;right:0;height:2px;background:var(--ink);transform:scaleX(0);transition:transform .25s}.main-nav a:hover:after,.main-nav a[aria-current=page]:after{transform:scaleX(1)}.main-nav .small-chevron{font-size:22px}.site-header{background:var(--paper)}
.hero{height:590px;position:relative;overflow:hidden;background:#382527}.hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}.hero-personal .hero-image{object-position:center 52%}.hero-slide{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity .85s var(--ease),visibility .85s;overflow:hidden}.hero-slide.active{opacity:1;visibility:visible;z-index:1}.hero-slide.active .hero-image{animation:hero-settle 4.5s var(--ease) both}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(12,39,41,.74),rgba(12,39,41,.33) 38%,transparent 64%)}.hero-content{position:relative;z-index:2;margin:auto;max-width:1360px;padding:91px 64px;color:#fff}.hero-location{font-size:22px;letter-spacing:.12em;margin-bottom:23px}.hero h1,.hero h2{font-size:58px;line-height:1.5;font-weight:500;margin:0 0 25px}.hero-description{font-size:26px;line-height:2.1;margin-bottom:31px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:38px;background:var(--deep);color:#fff;min-height:54px;padding:14px 27px;font-size:26px;letter-spacing:.05em;border:1px solid var(--deep);transition:background .25s,color .25s,transform .25s}.button span{font-size:26px;line-height:1;transition:transform .25s}.button:hover{background:#982a34}.button:hover span{transform:translate(3px,-2px)}.button.cream{background:var(--paper);color:var(--ink);border-color:var(--paper)}.button.cream:hover{background:#e8e0d3;border-color:#e8e0d3}.hero-controls{position:absolute;z-index:3;bottom:25px;left:max(64px,calc((100% - 1232px)/2));display:flex;align-items:center;color:white;gap:16px}.slide-arrow{width:32px;height:32px;font-size:26px}.hero-controls #slide-number{font:22px Georgia,serif;letter-spacing:.12em}.slide-pause{margin-left:15px;font-size:22px;min-height:32px}.image-note{position:absolute;bottom:20px;right:24px;color:rgba(255,255,255,.8);font-size:22px;z-index:2}.dark-note{color:#514441;background:#ffffffa8;padding:2px 7px}.hero-personal.is-light .hero-controls,.light-slide .hero-content{color:var(--ink)}.light-slide:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#efede6aa,transparent 60%)}.service-line{display:flex;justify-content:center;align-items:center;gap:0;min-height:65px;border-bottom:1px solid var(--line);font-size:22px;color:#6f5854}.service-line>*{padding:0 43px}.service-line>*+*{border-left:1px solid var(--line)}.service-line a span{margin-left:18px}.section{max-width:1360px;margin:0 auto;padding:91px 64px}.section-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:33px}.section-heading h2{margin:0}.section-heading>p{font-size:26px;line-height:2;color:var(--muted);margin-bottom:3px}.english-heading{font:22px Georgia,serif;letter-spacing:.12em;margin-bottom:13px}.filter-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:29px}.filter-buttons{display:flex;gap:28px}.filter{padding:7px 0;font-size:22px;position:relative;color:#796b65}.filter:after{position:absolute;content:"";bottom:0;left:0;right:0;height:1px;background:var(--ink);transform:scaleX(0);transition:transform .2s}.filter.active{color:var(--ink)}.filter.active:after,.filter:hover:after{transform:scaleX(1)}.rail-controls{display:flex;gap:8px}.rail-controls button{width:34px;height:34px;border:1px solid #e2d2cb;border-radius:50%;line-height:1}.product-rail{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 72px)/4);gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding-bottom:10px}.product-rail::-webkit-scrollbar{display:none}.product-card{scroll-snap-align:start;min-width:0}.product-image{position:relative;width:100%;aspect-ratio:1/1.06;background:#efeee8;display:grid;place-items:center;overflow:hidden}.product-image img{width:84%;height:83%;object-fit:contain;mix-blend-mode:multiply;transition:transform .7s var(--ease)}.product-image:hover img{transform:scale(1.07)}.product-image .quick-label{position:absolute;bottom:0;left:0;right:0;padding:10px;background:var(--deep);color:white;font-size:22px;transform:translateY(100%);transition:transform .35s}.product-image:hover .quick-label,.product-image:focus-visible .quick-label{transform:translateY(0)}.product-origin{font-size:22px;color:#796b65;margin:18px 0 5px;letter-spacing:.05em}.product-name{font-size:26px;font-weight:500;margin:0 0 7px;line-height:1.65}.product-name button{text-align:left;padding:0}.product-price{font-size:26px;margin:0}.product-price small{font-size:22px;margin-left:6px}.catalog-note{font-size:22px;color:#71736c;margin:25px 0 0}.empty-state{padding:50px;text-align:center;background:#f0eee8}.occasion-section{padding-top:27px;padding-bottom:93px}.text-link{display:inline-flex;align-items:center;gap:25px;border-bottom:1px solid #cdb8b0;padding:0 0 6px;font-size:22px;transition:gap .25s}.text-link:hover{gap:32px}.occasion-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.occasion-card{padding:0;text-align:left;position:relative}.occasion-image{height:260px;background:#eee9df;overflow:hidden;display:grid;place-items:center}.occasion-image img{width:83%;height:88%;object-fit:contain;mix-blend-mode:multiply;transition:transform .7s var(--ease)}.occasion-card:hover img{transform:scale(1.04)}.occasion-card>span{display:block;margin-top:21px}.occasion-card strong{font:30px var(--serif);display:block;margin-bottom:8px}.occasion-card small{font-size:22px;color:var(--muted)}.occasion-card>b{position:absolute;right:5px;bottom:24px;font-size:30px;font-weight:400}.tone-sage{background:#f7efeb}.tone-sand{background:#f2e8d8}.business-card img{width:100%;height:100%;object-fit:cover;mix-blend-mode:normal;object-position:75% center}.local-feature{display:grid;grid-template-columns:1fr 1fr;background:#f7efeb;min-height:565px}.local-feature-image{position:relative;overflow:hidden}.local-feature-image>img{width:100%;height:100%;object-fit:cover;object-position:78%}.local-feature-copy{padding:78px 15% 68px 14%;align-self:center}.local-feature-copy h2{font-size:46px}.local-feature-copy p:not(.english-heading){font-size:26px;line-height:2.15}.local-feature-copy .text-link{margin-top:9px}.owner-section{display:grid;grid-template-columns:44% 56%;gap:0;align-items:center;padding-top:110px;padding-bottom:110px}.owner-portrait{width:87%;position:relative}.owner-portrait>img{width:100%;height:400px;object-fit:cover;object-position:50% 32%;filter:saturate(.65)}.portrait-caption{display:block;margin-top:13px;font-size:22px;color:#756b67}.owner-copy{padding-left:45px}.owner-copy h2{font-size:46px}.owner-copy p:not(.english-heading){font-size:26px;line-height:2.15}.owner-copy .text-link{margin-top:10px}.business-banner{background:var(--deep);color:var(--paper);padding:55px max(64px,calc((100% - 1232px)/2));display:flex;align-items:center;justify-content:space-between;gap:40px}.business-banner h2{font-size:34px;margin-bottom:10px}.business-banner p:not(.english-heading){font-size:22px;margin:0}.business-banner .english-heading{color:#f5d9dc}.guide-section{display:grid;grid-template-columns:2fr 3fr;gap:30px;padding-top:100px;padding-bottom:100px}.guide-section>div>p:not(.english-heading){font-size:26px;color:var(--muted)}.faq-list{border-top:1px solid var(--line)}details{border-bottom:1px solid var(--line)}summary{cursor:pointer;list-style:none;padding:25px 0;font-size:26px;display:flex;justify-content:space-between;gap:15px}summary::-webkit-details-marker{display:none}summary span{font-size:26px;font-weight:400;transition:transform .3s}details[open] summary span{transform:rotate(45deg)}details>p{font-size:26px;line-height:2;max-width:94%;padding-bottom:7px;color:#756b67}details a{text-decoration:underline}.store-section{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);background:#f0ede6;min-height:410px}.store-photo-slot{min-height:410px;position:relative;background:repeating-linear-gradient(90deg,#e3ded3 0,#e3ded3 1px,#e9e4da 1px,#e9e4da 82px);display:flex;align-items:center;justify-content:center;text-align:center}.store-photo-slot:before{content:"";position:absolute;inset:34px;border:1px solid #c9c3b6}.photo-slot-inner{background:#e9e4da;padding:24px;position:relative}.photo-slot-inner svg{width:33px;height:33px;margin:0 auto 17px;stroke:#9b807a;fill:none;stroke-width:1}.photo-slot-inner strong{font:30px var(--serif);display:block;margin-bottom:10px}.photo-slot-inner p{font-size:22px;color:#777c70;margin:0}.store-copy{padding:65px 14%}.store-copy h2{font-size:34px;margin-bottom:20px}.store-copy p{font-size:26px;line-height:2}.store-copy .text-link{margin-top:3px}.footer{padding:58px 64px 25px;max-width:1360px;margin:auto}.footer-top{display:flex;justify-content:space-between;align-items:start;gap:45px}.footer-brand{font:40px Georgia,serif;letter-spacing:.15em}.footer-top>div>p{font-size:22px;margin-top:11px;color:var(--muted)}.footer-links{display:flex;gap:65px;font-size:22px}.footer-links div{display:flex;flex-direction:column;gap:12px}.footer-bottom{display:flex;justify-content:space-between;gap:20px;margin-top:45px;padding-top:20px;border-top:1px solid var(--line);font-size:22px;color:var(--muted)}.footer-bottom button{text-decoration:underline;font-size:22px}
.hero-business{height:620px;background:#e8e5dd}.hero-business .hero-image{object-position:center 53%}.business-hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,#f1eee8c9,#f1eee835 48%,transparent 65%)}.hero-business .hero-content{color:var(--ink);padding-top:65px}.hero-business h1{font-size:53px;line-height:1.55;margin-bottom:23px}.hero-business .hero-location{margin-bottom:16px}.hero-business .hero-description{font-size:26px;margin-bottom:26px}.hero-phone{display:block;font-size:22px;margin-top:16px}.business-occasions{padding-bottom:82px}.business-occasion-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:48px}.business-occasion{padding:0 24px;border-left:1px solid var(--line)}.business-occasion:first-child{padding-left:0;border-left:0}.occasion-number{font:26px Georgia,serif;color:#a47859;display:block;margin-bottom:23px}.business-occasion h3{font:30px var(--serif);margin-bottom:16px}.business-occasion p{font-size:22px;line-height:2.1;color:#756b67;margin-bottom:24px}.business-editorial{display:grid;grid-template-columns:1fr 1fr;background:var(--deep);color:var(--paper)}.business-editorial-photo{position:relative;min-height:515px;overflow:hidden}.business-editorial-photo img{width:100%;height:100%;object-fit:cover;object-position:75%}.business-editorial-copy{padding:75px 12%;align-self:center}.business-editorial-copy h2{font-size:46px}.business-editorial-copy p:not(.english-heading){font-size:26px;line-height:2.1}.business-editorial-copy .text-link{margin-top:12px;border-color:#c4a5a0}.business-products{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}.business-products .product-image{aspect-ratio:1.27}.business-products .product-image img{width:74%;height:86%}.business-owner{border-top:1px solid var(--line)}.process-section{padding-top:15px;padding-bottom:100px}.process-list{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;list-style:none;padding:0;margin:42px 0 0}.process-list li{padding-top:20px;border-top:1px solid #cdb8b0}.process-list span{font:26px Georgia,serif;color:#8a7865}.process-list h3{font-size:26px;margin:19px 0 15px}.process-list p{font-size:22px;line-height:2.1;color:var(--muted)}.consultation-section{background:#faf0ed;padding:85px max(64px,calc((100% - 1232px)/2));display:grid;grid-template-columns:43fr 57fr;gap:45px}.consultation-intro h2{font-size:40px;line-height:1.7}.consultation-intro>p:not(.english-heading){font-size:26px;line-height:2.1}.phone-large{font:40px Georgia,serif;letter-spacing:.03em;display:inline-block;margin:6px 0 23px}.muted{color:var(--muted)}.consultation-form{background:var(--paper);padding:32px;align-self:start}.form-preview-note{font-size:22px;color:#6c746b;line-height:1.7;border-bottom:1px solid var(--line);padding-bottom:15px;margin-bottom:23px}.consultation-form label{display:block;font-size:22px;margin-bottom:17px}.consultation-form label>span{color:#a65f47;font-size:22px;margin-left:8px}.consultation-form input,.consultation-form select,.consultation-form textarea{display:block;width:100%;border:1px solid #e2d2cb;background:#fff;padding:11px 12px;border-radius:0;margin-top:7px;font-size:26px;color:#3b3433;min-height:44px}.consultation-form textarea{resize:vertical}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}.consultation-form .button{width:100%;margin-top:6px}.consultation-form input::placeholder,.consultation-form textarea::placeholder{color:#8a8f85}.consultation-form input:user-invalid{border-color:#af4e3c}.consultation-form #form-result{margin-top:25px;padding-top:20px;border-top:1px solid var(--line);font-size:26px;white-space:pre-line}
dialog{border:0;padding:0;background:var(--paper);color:var(--ink);max-height:88vh;max-width:90vw;box-shadow:0 25px 100px #30242733}dialog::backdrop{background:#302427a1;backdrop-filter:blur(3px)}dialog[open]{animation:dialog-in .25s var(--ease)}.dialog-close{position:absolute;right:17px;top:14px;width:38px;height:38px;font-size:34px;line-height:1;z-index:2}.dialog-body{padding:48px}.dialog-body h2{font-size:34px}.product-dialog{width:860px}.product-detail-layout{display:grid;grid-template-columns:1fr 1fr;gap:35px;align-items:center}.detail-photo{background:#ecece5;aspect-ratio:1;display:grid;place-items:center}.detail-photo img{width:90%;height:90%;object-fit:contain;mix-blend-mode:multiply}.detail-copy h2{font-size:34px}.detail-copy .product-price{font-size:30px;margin-bottom:20px}.detail-copy>p{font-size:26px;line-height:2}.detail-copy .button{width:100%;font-size:22px;gap:10px}.detail-copy .text-link{font-size:22px;margin-top:20px}.detail-copy .small-note{font-size:22px;margin-top:15px;color:var(--muted)}.search-dialog{width:640px}.search-form{display:flex;gap:12px}.search-form input{border:1px solid #cebdb6;background:white;padding:13px;flex:1;min-width:0;font-size:26px}.search-form .button{padding:12px 22px}.search-hint{font-size:22px;color:var(--muted);margin:18px 0 0}.list-dialog{width:650px}.saved-item{display:grid;grid-template-columns:70px 1fr 45px;gap:18px;align-items:center;padding:17px 0;border-bottom:1px solid var(--line)}.saved-item img{width:70px;height:70px;object-fit:contain;background:#f3ebe7;mix-blend-mode:multiply}.saved-item p{margin:0;font-size:22px}.saved-item strong{font-size:26px;font-weight:500}.saved-item button{font-size:26px}.list-dialog .button{margin-top:25px}.review-dialog{width:730px}.review-dialog h3{font-size:26px;margin:27px 0 8px}.review-dialog p,.review-dialog li{font-size:26px;line-height:1.9}.review-dialog ul{padding-left:20px}.toast{position:fixed;bottom:26px;left:50%;transform:translate(-50%,20px);opacity:0;pointer-events:none;z-index:30;background:var(--deep);color:white;font-size:22px;padding:13px 25px;transition:opacity .2s,transform .2s}.toast.visible{opacity:1;transform:translate(-50%,0)}.reveal-ready{opacity:0;transform:translateY(26px);transition:opacity .8s var(--ease),transform .8s var(--ease)}.reveal-ready.is-visible{opacity:1;transform:none}.motion-toggle{font-size:22px;text-decoration:underline}.reduce-motion *, .reduce-motion *:before,.reduce-motion *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.reduce-motion .reveal-ready{opacity:1;transform:none}@keyframes hero-settle{from{transform:scale(1.035)}to{transform:scale(1)}}@keyframes dialog-in{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@media(min-width:1600px){.hero{height:650px}.hero-content{padding-top:115px}.hero-business .hero-content{padding-top:85px}.hero-business{height:650px}.hero h1,.hero h2{font-size:62px}.hero-business h1{font-size:58px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.reveal-ready{opacity:1;transform:none}}

.hero-business>.hero-image{animation:hero-settle 4.5s var(--ease) both}#product-status:not(.sr-only){font-size:22px;color:var(--muted);margin-bottom:20px}

html.reduce-motion{scroll-behavior:auto!important}
