:root{--paper:#faf8f3;--ink:#302c29;--wine:#642c39;--muted:#716961;--line:#ddd6cc;--serif:"Yu Mincho","Hiragino Mincho ProN","Noto Serif JP",serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--paper);color:var(--ink);font-family:"Yu Gothic","Hiragino Kaku Gothic ProN",Meiryo,sans-serif;font-size:16px;line-height:1.9}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}img{max-width:100%;display:block}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-family:var(--serif);font-weight:500}h2{font-size:clamp(25px,2.8vw,36px);line-height:1.7;letter-spacing:.06em}a,button,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:3px solid #a76e22;outline-offset:5px}.wrap{max-width:1240px;margin-inline:auto;width:calc(100% - 112px)}.topline{background:var(--wine);color:#fff;font-size:12px;padding:7px 56px;letter-spacing:.09em;display:flex;justify-content:space-between}header{height:104px;display:flex;align-items:center;justify-content:space-between;padding:0 56px;background:var(--paper);position:sticky;top:0;z-index:20;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:12px}.brand small{display:block;font-size:10px;letter-spacing:.12em;line-height:1.6}.brand strong{font-family:var(--serif);font-size:25px;font-weight:600;letter-spacing:.09em;white-space:nowrap}header nav{display:flex;align-items:center;gap:30px;font-size:14px}header nav>a:not(.nav-cta):hover{text-decoration:underline;text-underline-offset:7px}.nav-cta{border:1px solid var(--wine);color:var(--wine);padding:12px 23px;display:flex;gap:30px}.nav-cta:hover{background:var(--wine);color:white}.menu-toggle{display:none}.hero{display:grid;grid-template-columns:47% 53%;max-width:1600px;margin:auto;position:relative}.hero-copy{padding:64px 30px 55px max(56px,calc((100vw - 1240px)/2));position:relative}.eyebrow{font-size:11px;letter-spacing:.19em;color:var(--wine);font-family:Arial,"Yu Gothic",sans-serif;font-weight:600;margin-bottom:20px}h1{font-size:clamp(34px,3.6vw,54px);line-height:1.65;letter-spacing:.08em}.hero-description{font-size:15px;line-height:2.1;margin:25px 0 28px}.button{min-height:54px;display:inline-flex;justify-content:space-between;align-items:center;gap:40px;font-size:14px;letter-spacing:.04em;padding:14px 26px;border:1px solid transparent;transition:background .2s}.button span{font-size:20px}.primary{background:var(--wine);color:white}.primary:hover{background:#48212b}.text-link{display:block;font-size:13px;margin-top:16px;text-decoration:underline;text-underline-offset:5px}.text-link span{margin-left:10px}.hero-photo{position:relative;min-height:620px;margin:20px 24px 0 0;overflow:hidden}.hero-photo>img{width:100%;height:100%;position:absolute;object-fit:cover;object-position:56% center}.hero-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#0007,transparent 40%);pointer-events:none}.hero-photo figcaption{position:absolute;bottom:14px;right:20px;z-index:1;color:white;font-size:11px}.photo-label{position:absolute;bottom:45px;left:35px;color:white;font-family:Georgia,serif;font-size:19px;letter-spacing:.2em;z-index:1}.hero-bottom{grid-column:1/-1;padding:23px 56px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;font-size:12px;letter-spacing:.1em}.hero-bottom i{font-style:normal;color:#9e8e7c;padding:0 15px}.notice-strip{display:flex;align-items:center;gap:22px;padding:27px 0;border-bottom:1px solid var(--line);font-size:13px}.notice-strip h2{font-family:inherit;font-size:16px;white-space:nowrap}.tag{color:var(--wine);border:1px solid #c6afb2;font-size:11px;padding:1px 10px;white-space:nowrap}.pending{font-size:12px;color:var(--muted);margin-left:auto;white-space:nowrap}.intro{display:grid;grid-template-columns:1fr 1fr;gap:60px;padding-block:105px}.intro h2{font-size:32px}.intro-body{padding-top:30px;font-size:15px;line-height:2.25}.intro-body p+p{margin-top:22px}.section-pad{padding-block:85px}.services{background:#f0ece5}.section-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:38px}.section-heading .eyebrow{margin-bottom:13px}.section-heading>div>p:last-child:not(.eyebrow){font-size:14px;color:var(--muted);margin-top:14px}.section-number{font-family:Georgia,serif;color:#978777;font-size:19px;letter-spacing:.08em}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}.service-image{height:235px;position:relative;overflow:hidden;background:#ddd4c7;margin-bottom:24px}.service-image img{width:100%;height:100%;object-fit:cover;transition:transform .4s}.service:hover .service-image img{transform:scale(1.035)}.service-image>span{position:absolute;left:12px;top:10px;color:#fff;background:#302c29a8;padding:1px 8px;font-size:12px}.service .eyebrow{font-size:10px;margin-bottom:5px}.service h3{font-size:28px;display:flex;justify-content:space-between;align-items:center}.service h3 span{font-family:Arial;font-size:21px}.service p:not(.eyebrow){font-size:14px;color:#625b53;line-height:1.95;margin-top:12px}.service-link{display:inline-block;border-bottom:1px solid #a18c79;font-size:12px;margin-top:18px}.image-note{font-size:11px;color:var(--muted);text-align:right;margin-top:24px}.service-details{margin-top:35px;border-top:1px solid #d4c9bc;display:grid;grid-template-columns:1fr 1fr;column-gap:40px}.service-details details{border-bottom:1px solid #d4c9bc;scroll-margin-top:120px}.service-details summary{padding:20px 0;list-style:none;cursor:pointer;font-size:15px;display:flex;justify-content:space-between}.service-details summary::-webkit-details-marker{display:none}.service-details details[open] summary span{transform:rotate(45deg)}.service-details details>div{padding-bottom:24px;font-size:14px}.service-details details a{display:inline-block;color:var(--wine);text-decoration:underline;text-underline-offset:5px;margin-top:16px}.care{background:var(--wine);color:#fff9f2}.care-layout{display:grid;grid-template-columns:1fr 1fr;gap:95px}.care .eyebrow{color:#dbc2b8}.care h2{font-size:30px}.care-layout>div>p:not(.eyebrow){font-size:14px;line-height:2.2;margin-top:23px;color:#eee0da}.light{border-color:#b49396;margin-top:30px;color:white}.light:hover{background:#fff1}.care-menu>div{position:relative;border-bottom:1px solid #967079;padding:0 0 24px 45px;margin-bottom:24px}.care-num{position:absolute;left:0;top:4px;font:italic 17px Georgia;color:#d5b8ab}.care-menu h3{font-size:23px;margin-bottom:7px}.care-menu p{font-size:13px;color:#ecdddb}.care-menu .care-note{font-size:12px;line-height:1.9}.store-count{font:64px Georgia;color:var(--wine);line-height:1;text-align:center}.store-count small{font:10px Arial;letter-spacing:.2em;display:block;margin-top:10px}.store-tabs{display:grid;grid-template-columns:repeat(4,1fr);border-bottom:1px solid var(--wine)}.store-tabs button{border:1px solid var(--line);border-bottom:0;background:transparent;padding:21px 10px;color:var(--ink);font-size:21px;font-family:var(--serif)}.store-tabs button+button{border-left:0}.store-tabs small{display:block;font-family:Arial,Meiryo,sans-serif;font-size:11px;margin-top:3px}.store-tabs [aria-selected=true]{background:var(--wine);color:white;border-color:var(--wine)}.tiny{font-family:Arial,Meiryo,sans-serif;font-size:10px;vertical-align:middle;border:1px solid currentColor;padding:2px 4px;margin-left:4px}.store-panel{display:grid;grid-template-columns:1fr 1fr;gap:60px;padding:45px;background:white;border:1px solid var(--line);border-top:0}.store-title h3{font-size:26px}.store-title>p:not(.eyebrow){font-size:14px;color:var(--muted)}#store-special{margin-top:12px}.outline{border-color:#a89887;margin-top:26px;font-size:12px;gap:20px}.outline:hover{background:var(--paper)}.store-facts{margin:0;font-size:13px}.store-facts>div{display:grid;grid-template-columns:95px 1fr;gap:12px;padding:9px 0;border-bottom:1px solid #e9e3da}.store-facts dt{color:var(--muted)}.store-facts dd{margin:0}.store-note{font-size:12px;color:var(--muted);margin-top:15px}.bridal{display:flex;align-items:center;gap:32px;background:#eee8de;padding:34px 45px;margin-bottom:85px}.bridal-mark{width:110px;color:#917549;flex-shrink:0}.bridal h2{font-size:23px}.bridal .eyebrow{margin-bottom:7px;font-size:11px}.bridal p:not(.eyebrow){font-size:13px;margin-top:10px}.round-link{border:1px solid #b4a086;width:50px;height:50px;border-radius:50%;display:grid;place-items:center;flex-shrink:0;margin-left:auto}.round-link:hover{background:#e0d7c8}footer{border-top:1px solid var(--line);background:#f1eee8}.footer-main{padding-block:48px;display:flex;justify-content:space-between;align-items:center}.footer-main p{font-size:12px;color:var(--muted);margin:15px 0 0 54px}.footer-main nav{display:flex;gap:25px;font-size:13px}.footer-bottom{padding-block:21px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;font-size:10px;color:var(--muted)}.footer-bottom a{font-size:11px}.mobile-bottom{display:none}.skip{position:fixed;top:-80px;left:20px;background:white;padding:10px;z-index:100}.skip:focus{top:10px}
@media(min-width:1600px){.hero-copy{padding-left:100px}}@media(max-width:1100px){.wrap{width:calc(100% - 64px)}header{padding-inline:32px}header nav{gap:20px;font-size:12px}.brand strong{font-size:22px}.hero-copy{padding-left:32px}.hero-photo{min-height:590px}.hero-description{font-size:14px}.service-grid{gap:18px}.service-image{height:190px}.intro{gap:30px}.care-layout{gap:45px}.store-panel{gap:30px;padding:30px}.footer-main nav{gap:14px}.topline{padding-inline:32px}.notice-strip{flex-wrap:wrap;gap:12px}.pending{margin-left:0}.intro h2{font-size:28px}}
@media(max-width:760px){html{scroll-padding-top:95px}body{font-size:16px}.wrap{width:calc(100% - 40px)}.topline{padding:5px 20px;font-size:10px;justify-content:center}.topline span{display:none}header{height:80px;padding-inline:20px}.brand{gap:8px}.brand img{width:31px}.brand strong{font-size:21px}.brand small{font-size:9px}.menu-toggle{display:flex;align-items:center;gap:7px;border:0;background:none;color:var(--wine);font-size:11px;padding:12px 0 12px 12px}.menu-toggle span{font-size:20px}header nav{display:none;position:absolute;top:80px;left:0;right:0;background:var(--paper);padding:20px;box-shadow:0 12px 18px #302c2912;align-items:stretch;gap:0;font-size:15px}header nav.open{display:flex;flex-direction:column}header nav a{padding:15px;border-bottom:1px solid var(--line)}header nav .nav-cta{margin-top:12px}.hero{grid-template-columns:1fr}.hero-copy{padding:36px 25px 34px}.hero .eyebrow{font-size:10px;margin-bottom:15px}h1{font-size:35px;line-height:1.65;letter-spacing:.05em}.hero-description{font-size:15px;margin:18px 0 23px}.hero-photo{min-height:300px;height:300px;margin:0 20px}.hero-photo>img{object-position:center 58%}.photo-label{font-size:13px;left:20px;bottom:35px}.hero-photo figcaption{font-size:10px;right:12px;bottom:9px}.hero-bottom{padding:18px 20px;font-size:10px}.hero-bottom i{padding:0 5px}.notice-strip{padding-block:24px;gap:9px 16px}.notice-strip p{flex-basis:100%;font-size:13px}.notice-strip .pending{font-size:11px}.intro{grid-template-columns:1fr;padding-block:60px;gap:24px}.intro .eyebrow{margin-bottom:15px}.intro h2{font-size:27px}.intro-body{padding-top:0;font-size:15px;line-height:2.15}.desktop{display:none}.section-pad{padding-block:58px}.section-heading{margin-bottom:28px}.section-heading h2{font-size:25px}.section-number{display:none}.service-grid{grid-template-columns:repeat(2,1fr);gap:32px 18px}.service-image{height:180px;margin-bottom:17px}.service h3{font-size:26px}.service p:not(.eyebrow){font-size:14px}.service .eyebrow{font-size:9px}.service-link{font-size:12px}.image-note{text-align:left;font-size:11px;margin-top:26px}.service-details{grid-template-columns:1fr;margin-top:25px}.care-layout{grid-template-columns:1fr;gap:40px}.care h2{font-size:26px}.care-layout>div>p:not(.eyebrow){font-size:15px}.care-menu p{font-size:14px}.care-menu h3{font-size:22px}.store-count{display:none}.section-heading>div>p:last-child:not(.eyebrow){font-size:14px}.store-tabs button{padding:17px 3px;font-size:18px}.store-tabs small{font-size:9px}.store-tabs .tiny{display:none}.store-panel{grid-template-columns:1fr;gap:25px;padding:26px 20px}.store-title h3{font-size:24px}.store-title .eyebrow{margin-bottom:12px}.store-facts{font-size:14px}.store-note{font-size:12px}.bridal{padding:28px 22px;gap:12px;position:relative;margin-bottom:58px}.bridal-mark{display:none}.bridal h2{font-size:23px;padding-right:30px}.bridal .round-link{position:absolute;right:17px;top:46px;width:35px;height:35px}.bridal p:not(.eyebrow){font-size:14px}.footer-main{display:block;padding-block:35px}.footer-main nav{margin-top:30px;display:grid;grid-template-columns:1fr 1fr;gap:14px;font-size:13px}.footer-bottom{flex-wrap:wrap;padding-bottom:85px;gap:10px}.footer-bottom>span{order:3;width:100%}.mobile-bottom{display:grid;grid-template-columns:1fr 1fr;position:fixed;bottom:0;left:0;right:0;z-index:25;box-shadow:0 -3px 12px #302c2910;background:var(--paper);padding-bottom:env(safe-area-inset-bottom)}.mobile-bottom a{text-align:center;padding:15px 7px;font-size:14px;color:var(--wine)}.mobile-bottom a:last-child{background:var(--wine);color:white}.button{font-size:14px}.outline{font-size:12px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
@media(max-width:760px){h1{font-size:clamp(27px,8vw,32px)}.intro h2{font-size:25px}}
