:root{--paper:#ffffff;--white:#f7f6f2;--ink:#252a26;--red:#a83428;--line:rgba(37,42,38,.23);--muted:rgba(37,42,38,.73);--serif:"Hiragino Mincho ProN","Yu Mincho",serif;--sans:"Hiragino Sans","Hiragino Kaku Gothic ProN",sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:28px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:14px;line-height:1.95;-webkit-font-smoothing:antialiased}h1,h2,h3,p,figure,blockquote{margin:0}h1,h2,h3{font-weight:500}h1,h2,h3,.wordmark{font-family:var(--serif)}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:2px solid var(--ink);outline-offset:5px}a:hover{text-decoration:underline;text-underline-offset:5px}img{display:block;width:100%;height:auto;object-fit:cover;background:#eeece5}svg{display:block;width:100%;height:auto}small{font-size:inherit}address{font-style:normal}::selection{background:var(--ink);color:var(--white)}.wrap{width:calc(100% - 112px);max-width:1168px;margin-inline:auto}.section{padding-block:94px}.fine-print{font-size:11px;line-height:1.9;color:var(--muted)}.eyebrow{font-size:11px;letter-spacing:.12em}.text-link{display:inline-flex;align-items:center;gap:40px;padding-bottom:7px;border-bottom:1px solid var(--ink);font-size:12px}.text-link span{font-family:var(--sans);font-size:19px;line-height:1}.text-link:hover{text-decoration:none;border-bottom-width:2px;padding-bottom:6px}.skip-link{position:fixed;z-index:20;left:16px;top:-100px;padding:10px 18px;background:var(--ink);color:var(--white)}.skip-link:focus{top:12px}
.site-header{min-height:118px;display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:36px}.wordmark{display:inline-flex;align-items:center;gap:12px;justify-self:start;white-space:nowrap}.wordmark:hover{text-decoration:none}.wordmark-category{font-size:12px;line-height:1.35;writing-mode:vertical-rl;letter-spacing:.13em;border-right:1px solid var(--ink);padding-right:8px}.wordmark-name{font-size:30px;letter-spacing:.1em;font-weight:600}.header-right{text-align:right;grid-column:3;grid-row:1}.header-hours{font-size:9px;letter-spacing:.04em}.header-hours span{margin-left:9px}.header-phone{font-family:var(--serif);font-size:23px;letter-spacing:.035em;line-height:1.55}.main-nav{grid-column:2;grid-row:1;display:flex;gap:27px;font-size:11px}.hero{display:grid;grid-template-columns:42% 58%;align-items:stretch;padding-top:10px}.hero-copy{padding:31px 0 40px;position:relative;z-index:1}.hero-location{display:flex;align-items:center;gap:13px;margin-bottom:42px}.hero-location:before{content:"";width:28px;height:1px;background:var(--ink)}h1{font-size:clamp(32px,3.3vw,46px);line-height:1.65;letter-spacing:.045em;white-space:nowrap}h1>span{display:block}.hero-qualification{font-size:17px;letter-spacing:.13em;margin-bottom:13px}.hero-description{font-size:13px;line-height:2.15;margin-top:23px;letter-spacing:.07em}.hero-link{margin-top:30px}.hero-signature{display:flex;align-items:center;gap:26px;margin-top:43px}.hero-signature p{font-family:var(--serif);font-size:12px;letter-spacing:.16em;line-height:1.85}.hero-signature p span{font-size:14px}.signature-seal{font-family:var(--serif);font-size:17px;font-weight:600;color:var(--red);line-height:1.2;border:2px solid var(--red);padding:4px 5px;transform:rotate(-5deg)}.hero-photo{min-width:0;padding-left:10px;align-self:stretch;position:relative}.hero-photo img{height:100%;min-height:550px;max-height:620px;object-position:center}.hero-photo figcaption{position:absolute;bottom:-29px;left:10px;right:0;display:flex;justify-content:space-between;gap:12px;font-size:9px;letter-spacing:.06em;color:var(--muted)}.intro-strip{margin-top:65px;padding-block:22px;display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:10px;align-items:center}.intro-strip>p:first-child{font-family:var(--serif);font-size:14px;letter-spacing:.06em}.intro-strip a{font-size:10px}.intro-strip a span{margin-left:14px;font-size:15px}
.section-heading{display:flex;justify-content:space-between;gap:24px;align-items:flex-end;margin-bottom:40px}.section-kicker{font-size:11px;letter-spacing:.12em;margin-bottom:18px;display:flex;align-items:center;gap:15px}.section-kicker>span{border-left:1px solid var(--line);padding-left:15px}.section h2,.contact-section h2{font-size:32px;line-height:1.65;letter-spacing:.06em}.section-intro{font-size:12px;line-height:2;padding-bottom:4px}.price-list{border-top:1px solid var(--ink)}.price-row{display:grid;grid-template-columns:28% 30% 22% 20%;align-items:center;min-height:116px;border-bottom:1px solid var(--line);gap:0}.price-name{display:grid;grid-template-columns:27px 1fr;align-items:center}.item-index{font-size:11px;color:var(--muted);grid-row:1 / 3}.price-name h3{font-size:25px;letter-spacing:.12em;line-height:1.65}.reading{font-size:10px;color:var(--muted);letter-spacing:.05em}.price-description{font-size:12px;line-height:1.85}.price-size{font-size:10px;line-height:1.9}.price-size span{display:block;font-size:12px;letter-spacing:.03em}.price{text-align:right;white-space:nowrap}.price strong{font-family:var(--serif);font-size:31px;font-weight:400;letter-spacing:.015em}.price>span{font-size:11px;margin-left:5px}.price-note{margin-top:16px;max-width:900px}.size-guide{display:grid;grid-template-columns:1fr 1.02fr;gap:60px;margin-top:67px}.size-guide-copy{padding-top:12px}.size-guide h3{font-size:23px;line-height:1.75;letter-spacing:.06em;margin-top:14px}.size-guide-copy>p:not(.eyebrow){font-size:12px;line-height:2;margin-top:18px}.size-guide-copy>p.fine-print{font-size:10px}.size-guide-copy>.text-link{margin-top:23px}.size-table{border-collapse:collapse;width:100%;font-size:12px;line-height:1.6;text-align:center;font-variant-numeric:tabular-nums}.size-table caption{text-align:left;font-size:12px;line-height:1.9;padding-bottom:14px}.size-table caption span{float:right;font-size:9px}.size-table th,.size-table td{padding:10px 8px;border-bottom:1px solid var(--line);font-weight:400}.size-table thead{border-top:1px solid var(--ink);background:rgba(37,42,38,.035)}.size-table thead th{font-size:10px}.size-table tbody th{font-family:var(--serif);font-size:14px;border-right:1px solid var(--line);width:24%}.size-table td:nth-last-child(-n+2){font-size:16px;padding-block:6px}.size-table .group-start>*{border-top:1px solid var(--line)}
.typeface-section{background:var(--white);border-block:1px solid var(--line)}.typeface-list{display:grid;grid-template-columns:repeat(5,1fr);margin-top:50px}.typeface{text-align:center;padding:5px 10px;border-left:1px solid var(--line)}.typeface:first-child{border-left:0}.seal{color:var(--red);border:3px solid var(--red);border-radius:50%;width:90px;height:90px;margin:0 auto 24px;display:flex;flex-direction:column;align-items:center;justify-content:center;font-family:var(--serif);font-weight:600;line-height:.95;overflow:hidden}.seal span{display:block;font-size:37px;letter-spacing:-.06em}.seal-tensho span{transform:scaleX(1.42) scaleY(.98);font-weight:500}.seal-tensho{border-width:2px}.seal-inso span{transform:scaleX(1.68) scaleY(1.16);font-weight:900;line-height:1.04}.seal-inso{border-width:4px}.seal-koin span{font-family:"Hiragino Maru Gothic ProN",var(--serif);font-weight:700;transform:scaleX(1.15) rotate(-3deg);font-size:35px}.seal-koin{transform:rotate(3deg);border-width:3.5px}.seal-reisho span{transform:scaleX(1.5) scaleY(.82);font-weight:500;font-size:39px}.seal-kaisho span{font-size:34px;font-weight:500;line-height:1.05}.seal-kaisho{border-width:2px}.typeface h3{font-size:21px;letter-spacing:.09em;line-height:1.7}.typeface figcaption p{margin-top:12px;font-size:11px;line-height:1.85}.typeface-note{text-align:center;margin-top:39px;font-size:10px}
.materials-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}.material img{aspect-ratio:1.2;object-fit:cover}.material-title{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-top:21px;padding-bottom:13px;border-bottom:1px solid var(--line);flex-wrap:wrap}.material-title h3{font-size:23px;line-height:1.5;white-space:nowrap}.material-title h3 small{font-family:var(--sans);font-size:9px;margin-left:8px}.material-title p{font-size:10px;white-space:nowrap}.material-title p strong{font-family:var(--serif);font-size:17px;font-weight:500;margin-inline:4px}.material>p{font-size:12px;line-height:1.9;margin-top:15px}.material-method{display:inline-block;font-size:10px;margin-top:14px;padding-left:10px;border-left:1px solid var(--ink);line-height:1.3}.materials-note{margin-top:26px}
.process-section{border-block:1px solid var(--line)}.process-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}.process-step img{aspect-ratio:1.2;object-fit:cover}.process-step figcaption{display:flex;align-items:center;gap:12px;margin-block:19px 13px}.step-number{font-family:var(--serif);font-size:14px;padding-right:13px;border-right:1px solid var(--line)}.process-step h3{font-size:23px;letter-spacing:.08em}.process-step .reading{margin-left:auto}.process-step>p{font-size:12px;line-height:1.95;max-width:310px}.process-footnote{border-top:1px solid var(--line);margin-top:32px;padding-top:17px;display:flex;gap:24px;align-items:baseline;justify-content:space-between}.process-footnote>p{font-size:11px}.process-footnote>span{white-space:nowrap;font-size:9px}.delivery{display:grid;grid-template-columns:1.1fr .7fr 1fr;column-gap:32px;row-gap:18px;background:var(--white);padding:27px 35px;margin-top:38px;align-items:center}.delivery h3{font-size:18px}.delivery>p{display:flex;align-items:baseline;gap:20px;font-size:11px}.delivery>p strong{font-family:var(--serif);font-size:24px;font-weight:500;white-space:nowrap}.delivery>div{grid-column:1/-1;border-top:1px solid var(--line);padding-top:15px;font-size:11px}.delivery .fine-print{font-size:10px}
.shop-section>.section-kicker{margin-bottom:32px}.shop-story{display:grid;grid-template-columns:1.1fr 1fr;gap:70px;align-items:center}.shop-story img{aspect-ratio:1.2;object-fit:cover}.shop-story figcaption{font-size:9px;margin-top:7px}.shop-copy>.eyebrow{margin-bottom:16px;font-size:10px}.shop-copy h2{font-size:34px;line-height:1.75}.shop-copy blockquote{font-family:var(--serif);font-size:16px;line-height:2;margin-top:25px;letter-spacing:.03em}.owner-name{font-family:var(--serif);font-size:19px;letter-spacing:.06em;text-align:right;margin-top:18px}.owner-name>span{display:block;font-family:var(--sans);font-size:10px;letter-spacing:0;margin-bottom:4px}.shop-history{font-size:11px;margin-top:25px;padding-top:20px;border-top:1px solid var(--line);line-height:2}.extra-services{margin-top:45px;border-block:1px solid var(--line);padding-block:24px;display:grid;grid-template-columns:1fr 1.4fr;gap:7px 30px}.extra-services h3{font-size:16px;grid-row:1/3}.extra-services p{font-size:12px}.extra-services .fine-print{font-size:10px}.shop-details{display:grid;grid-template-columns:1fr 1.02fr;gap:70px;margin-top:65px;align-items:center}.shop-address>.eyebrow{font-size:11px}.shop-address h3{font-size:30px;letter-spacing:.1em;margin-top:12px}.shop-address h3 small{font-size:14px}.shop-address address{font-size:13px;margin-top:18px;line-height:1.9}.shop-address dl{margin:18px 0 16px;font-size:12px}.shop-address dl>div{display:flex;gap:25px;padding-block:5px}.shop-address dt{min-width:60px;color:var(--muted)}.shop-address dd{margin:0}.shop-address dd a{letter-spacing:.04em}.map figcaption{margin-top:9px;font-size:9px}
.contact-section{background:var(--white);border-block:1px solid var(--line);padding-block:67px}.contact-inner{display:grid;grid-template-columns:1.15fr 1fr;gap:70px}.contact-section h2{font-size:32px}.contact-section .section-kicker{margin-bottom:14px}.contact-inner>div>p:last-child:not(.fine-print){font-size:12px;line-height:2;margin-top:22px}.contact-actions{padding-top:5px}.contact-phone{display:flex;align-items:center;gap:16px;border-bottom:1px solid var(--line);padding-bottom:8px}.contact-phone>span:first-child{font-size:11px;white-space:nowrap}.contact-phone>strong{font-family:var(--serif);font-size:31px;letter-spacing:.03em;font-weight:500;white-space:nowrap}.contact-phone>span:last-child{margin-left:auto;font-size:22px}.contact-hours{text-align:right;font-size:10px;margin-top:8px}.button{display:flex;align-items:center;justify-content:space-between;gap:20px;border:1px solid var(--ink);padding:17px 23px;background:transparent;font-size:13px}.button:hover{text-decoration:none;background:var(--ink);color:var(--white)}.button-red{background:var(--red);border-color:var(--red);color:var(--white);margin-top:24px}.button-red:hover{background:var(--white);color:var(--red)}.button>span{font-size:20px;line-height:1}.contact-actions>.fine-print{font-size:10px;margin-top:8px}.visit-link{display:flex;justify-content:space-between;margin-top:21px;border-color:var(--line);font-size:11px}.contact-actions>.demo-contact-note{margin-top:19px;font-size:9px}
.site-footer{padding-top:37px;padding-bottom:28px}.footer-top{display:flex;justify-content:space-between;align-items:center}.footer-top .wordmark-name{font-size:24px}.footer-top .wordmark-category{font-size:10px}.back-top{font-size:10px}.footer-bottom{display:flex;align-items:end;justify-content:space-between;gap:40px;border-top:1px solid var(--line);margin-top:25px;padding-top:20px;font-size:9px;color:var(--muted)}.footer-bottom p{max-width:740px}.footer-bottom>span{white-space:nowrap}.mobile-contact{display:none}.demo-dialog{border:1px solid var(--ink);padding:38px;max-width:440px;width:calc(100% - 40px);background:var(--paper);color:var(--ink);position:fixed}.demo-dialog::backdrop{background:rgba(37,42,38,.55)}.dialog-close{position:absolute;right:10px;top:5px;border:0;background:none;font-size:27px;width:35px;height:40px}.demo-dialog h2{font-size:23px;line-height:1.6;margin-block:17px}.demo-dialog>p:not(.eyebrow){font-size:13px;line-height:1.9}.dialog-dismiss{margin-top:25px;width:100%;justify-content:center;padding:12px}
@media(min-width:1440px){.hero-photo img{min-height:600px}.hero-copy{padding-top:45px}.hero-description{margin-top:30px}.hero-signature{margin-top:50px}}
@media(max-width:1100px){.wrap{width:calc(100% - 64px)}.site-header{gap:25px}.main-nav{gap:18px;font-size:10px}.wordmark-name{font-size:26px}.header-phone{font-size:21px}.hero-photo img{min-height:535px}.hero-location{font-size:10px}.hero-copy{padding-top:32px}.hero-qualification{font-size:15px}.hero-description{font-size:12px}.intro-strip{flex-wrap:wrap;gap:7px 20px}.intro-strip a{margin-left:auto}.section-heading h2{font-size:29px}.section-intro{font-size:11px}.materials-list,.process-list{gap:22px}.material-title h3{font-size:21px}.material-title{display:block}.material-title p{margin-top:4px}.shop-story,.shop-details,.contact-inner{gap:40px}.shop-copy h2{font-size:30px}.shop-copy blockquote{font-size:14px}.contact-phone>strong{font-size:27px}.extra-services{grid-template-columns:1fr 1.5fr}.extra-services h3{font-size:14px}.extra-services p{font-size:11px}.delivery{padding-inline:25px;column-gap:20px}.delivery>p{gap:12px}}
@media(max-width:760px){html{scroll-padding-top:20px}.wrap{width:calc(100% - 40px)}.section{padding-block:60px}.site-header{min-height:124px;grid-template-columns:1fr auto;gap:0;padding-top:20px;align-content:start}.wordmark{gap:8px}.wordmark-name{font-size:25px;letter-spacing:.06em}.wordmark-category{font-size:10px;padding-right:6px}.header-right{grid-column:2;text-align:right}.header-hours{font-size:8px;letter-spacing:0}.header-hours span{display:block;margin:0}.header-phone{font-size:16px;line-height:1.6}.main-nav{grid-column:1/-1;grid-row:2;justify-content:space-between;gap:8px;font-size:10px;border-top:1px solid var(--line);padding:12px 2px 10px;margin-top:17px;letter-spacing:.03em}.main-nav a{padding-block:2px}.hero{grid-template-columns:1fr;padding-top:19px}.hero-copy{padding:0;display:flex;flex-direction:column}.hero-location{margin-bottom:25px;font-size:10px;gap:10px}.hero-location:before{width:22px}h1{font-size:34px;line-height:1.6;letter-spacing:.045em}.hero-qualification{font-size:13px;letter-spacing:.1em;margin-bottom:8px}.hero-description{font-size:12px;line-height:2;margin-top:19px;letter-spacing:.03em}.hero-link{align-self:flex-start;margin-top:22px;font-size:11px;gap:49px}.hero-signature{position:absolute;right:2px;bottom:5px;gap:12px;flex-direction:column;align-items:flex-end;margin:0}.hero-signature p{font-size:9px;line-height:1.9;letter-spacing:.08em;text-align:right}.hero-signature p span{font-size:10px}.signature-seal{font-size:16px;padding:4px}.hero-photo{padding:0;margin-top:29px}.hero-photo img{min-height:0;height:auto;aspect-ratio:1.14;object-position:50% 52%;max-height:none}.hero-photo figcaption{position:static;font-size:8px;margin-top:7px;gap:8px;letter-spacing:0}.intro-strip{margin-top:26px;display:block;padding-block:17px}.intro-strip>p:first-child{font-size:13px}.intro-strip>p:nth-child(2){font-size:10px;margin-top:5px}.intro-strip>a{display:block;font-size:10px;margin-top:6px}.intro-strip>a span{margin-left:10px}.section-heading{display:block;margin-bottom:28px}.section-kicker{font-size:10px;gap:12px;margin-bottom:14px}.section-kicker>span{padding-left:12px}.section h2,.section-heading h2{font-size:26px;line-height:1.65;letter-spacing:.03em}.section-intro{font-size:11px;margin-top:18px;padding:0;line-height:1.95}.price-row{grid-template-columns:1fr auto;gap:11px 16px;padding-block:22px;min-height:0}.price-name{grid-column:1;grid-row:1;grid-template-columns:23px 1fr;align-self:start}.price-name h3{font-size:23px;line-height:1.5}.price-name>.reading{font-size:9px}.item-index{font-size:10px;align-self:start;padding-top:7px}.price{grid-column:2;grid-row:1;align-self:center}.price strong{font-size:29px}.price>span{font-size:10px;margin-left:4px}.price-description{grid-column:1;grid-row:2;font-size:11px;padding-left:23px;line-height:1.9;max-width:185px}.desktop-only{display:none}.price-size{grid-column:2;grid-row:2;font-size:9px;align-self:start;text-align:right;line-height:1.9}.price-size span{font-size:11px}.price-note{font-size:10px;line-height:1.9;margin-top:16px}.size-guide{grid-template-columns:1fr;gap:30px;margin-top:38px}.size-guide-copy{padding:0}.size-guide-copy>.eyebrow{font-size:10px}.size-guide h3{font-size:22px;line-height:1.7;margin-top:11px}.size-guide-copy>p:not(.eyebrow){font-size:11px;line-height:1.95;margin-top:15px}.size-guide-copy>p.fine-print{font-size:10px}.size-guide-copy>.text-link{margin-top:18px;font-size:11px}.size-table caption{font-size:11px;padding-bottom:12px}.size-table caption span{font-size:8px;padding-top:2px}.size-table th,.size-table td{padding-block:10px}.size-table td:nth-last-child(-n+2){padding-block:7px}.size-table tbody th{font-size:13px}.typeface-list{grid-template-columns:repeat(3,1fr);row-gap:30px;margin-top:32px}.typeface{padding-inline:4px}.typeface:nth-child(4){border-left:0}.seal{width:76px;height:76px;margin-bottom:14px}.seal span{font-size:31px}.seal-kaisho span{font-size:29px}.seal-koin span{font-size:29px}.seal-reisho span{font-size:32px}.typeface h3{font-size:18px;line-height:1.6}.typeface .reading{font-size:9px}.typeface figcaption p{font-size:9px;line-height:1.9;margin-top:8px}.typeface-note{text-align:left;font-size:10px;margin-top:28px}.materials-list{grid-template-columns:1fr;gap:32px}.material img{aspect-ratio:1.48}.material-title{display:flex;align-items:baseline;flex-wrap:wrap;margin-top:16px;padding-bottom:11px}.material-title h3{font-size:23px}.material-title h3 small{font-size:9px;margin-left:7px}.material-title p{font-size:10px;margin:0}.material-title p strong{font-size:19px}.material>p{font-size:12px;line-height:1.9;margin-top:12px}.material-method{font-size:10px;margin-top:12px}.materials-note{font-size:10px;margin-top:24px}.process-list{grid-template-columns:1fr;gap:33px}.process-step img{aspect-ratio:1.48}.process-step figcaption{margin-block:15px 8px;gap:11px}.process-step h3{font-size:22px}.step-number{font-size:13px}.process-step>.reading{font-size:10px}.process-step>p{font-size:12px;line-height:1.95;max-width:none}.process-footnote{display:block;margin-top:26px;padding-top:17px}.process-footnote>p{font-size:10px;line-height:1.95}.process-footnote>span{display:block;margin-top:9px}.delivery{display:grid;grid-template-columns:1fr;gap:13px;padding:22px 20px;margin-top:27px}.delivery h3{font-size:18px;padding-bottom:9px}.delivery>p{display:flex;justify-content:space-between;gap:10px;font-size:11px}.delivery>p strong{font-size:23px}.delivery>div{grid-column:auto;font-size:10px;line-height:2.1;padding-top:14px;margin-top:3px}.delivery .fine-print{font-size:9px}.shop-section>.section-kicker{margin-bottom:24px}.shop-story{grid-template-columns:1fr;gap:29px}.shop-story img{aspect-ratio:1.25}.shop-story figcaption{font-size:8px}.shop-copy>.eyebrow{font-size:10px;margin-bottom:13px}.shop-copy h2{font-size:29px}.shop-copy blockquote{font-size:15px;line-height:2;margin-top:22px}.owner-name{font-size:18px;margin-top:17px}.owner-name>span{font-size:9px}.shop-history{font-size:11px;line-height:2;margin-top:23px;padding-top:19px}.extra-services{grid-template-columns:1fr;gap:11px;margin-top:32px;padding-block:21px}.extra-services h3{font-size:16px;grid-row:auto}.extra-services p{font-size:11px;line-height:2.1}.extra-services .fine-print{font-size:9px}.shop-details{grid-template-columns:1fr;gap:27px;margin-top:36px}.shop-address>.eyebrow{font-size:10px}.shop-address h3{font-size:27px}.shop-address address{font-size:12px;margin-top:13px}.shop-address address .fine-print{font-size:10px}.shop-address dl{font-size:12px;margin-block:15px}.shop-address dl>div{padding-block:4px}.shop-address>.fine-print{font-size:10px}.map figcaption{font-size:9px}.contact-section{padding-block:42px}.contact-inner{grid-template-columns:1fr;gap:28px}.contact-section h2{font-size:27px;line-height:1.75;letter-spacing:.035em}.contact-inner>div>p:last-child:not(.fine-print){font-size:11px;margin-top:17px}.contact-actions{padding:0}.contact-phone{gap:14px;padding-bottom:9px}.contact-phone>span:first-child{font-size:10px}.contact-phone>strong{font-size:28px;letter-spacing:.015em}.contact-phone>span:last-child{font-size:19px}.contact-hours{font-size:9px;margin-top:8px}.button-red{margin-top:21px}.button{font-size:12px;padding:16px 19px}.contact-actions>.fine-print{font-size:9px}.visit-link{font-size:11px;margin-top:20px}.contact-actions>.demo-contact-note{font-size:9px;margin-top:16px}.site-footer{padding-block:29px 88px}.footer-top .wordmark-name{font-size:22px}.footer-top .wordmark-category{font-size:9px}.back-top{font-size:9px}.footer-bottom{display:block;margin-top:21px;padding-top:19px;font-size:9px;line-height:2}.footer-bottom>span{display:block;margin-top:16px}.mobile-contact{position:fixed;bottom:0;left:0;right:0;z-index:5;display:grid;grid-template-columns:1fr 1.35fr;background:var(--paper);border-top:1px solid var(--ink);padding-bottom:env(safe-area-inset-bottom,0)}.mobile-contact>a{display:flex;align-items:center;justify-content:space-between;gap:7px;min-height:53px;padding:11px 18px;font-size:11px}.mobile-contact>a+a{border-left:1px solid var(--line)}.mobile-contact span{font-size:17px}.demo-dialog{padding:30px 24px}.demo-dialog h2{font-size:22px}.demo-dialog>p:not(.eyebrow){font-size:12px}}
@media(min-width:761px) and (max-width:900px){h1{font-size:28px}.hero-qualification{font-size:13px}.hero-location{font-size:9px}.hero-location:before{width:18px}.section-heading{align-items:flex-start}.section-heading h2{font-size:25px}.section-intro{max-width:290px}.contact-phone{gap:10px}.contact-phone>strong{font-size:24px}.contact-phone>span:first-child{font-size:10px}.delivery{column-gap:13px}.delivery h3{font-size:16px}.delivery>p{gap:8px;font-size:10px}.delivery>p strong{font-size:21px}.extra-services{grid-template-columns:1fr;gap:10px}.extra-services h3{grid-row:auto}}
@media(max-width:760px){.hero{position:relative}.hero-copy{display:contents}.hero-location{grid-row:1}.hero h1{grid-row:2}.hero-photo{grid-row:3;margin-top:23px}.hero-description{grid-row:4}.hero-link{grid-row:5;justify-self:start}.hero-signature{display:contents}.hero-signature p{position:absolute;right:2px;bottom:5px}.signature-seal{position:absolute;right:3px;top:100px}}
@media(max-width:360px){.wrap{width:calc(100% - 32px)}.wordmark-name{font-size:23px}.header-phone{font-size:14px}h1{font-size:31px}.hero-description{font-size:11px}.hero-signature{right:0}.hero-signature p{font-size:8px}.hero-signature p span{font-size:9px}.section h2{font-size:24px}.contact-phone>strong{font-size:26px}.material-title h3 small{font-size:8px}.material-title p strong{font-size:17px}.footer-top .wordmark-name{font-size:20px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}

/* ===== 10/24 Astra指摘の直し（文字を読みやすく・余白を詰める。朱は増やさない） ===== */
:root{--line:rgba(37,42,38,.32)}
body{font-size:15px;line-height:1.85}
.hero-description,.section-intro,.price-description,.size-guide-copy>p:not(.eyebrow),.material>p,.process-step>p,.shop-copy blockquote,.shop-history,.extra-services p,.shop-address address,.shop-address dl,.contact-inner>div>p:last-child:not(.fine-print),.typeface figcaption p,.delivery>div,.process-footnote>p,.intro-strip>p:nth-child(2){font-size:15px}
.fine-print,.price-size,.reading,.price-note,.typeface-note,.materials-note,.hero-photo figcaption,.shop-story figcaption,.map figcaption,.contact-hours,.footer-bottom,.header-hours,.intro-strip a,.material-title p{font-size:12px}
.main-nav{font-size:13px}
.section{padding-block:64px}.section-heading{margin-bottom:28px}
.price strong{font-size:32px}
@media(max-width:760px){
  body{font-size:15px}
  .section{padding-block:40px}
  .hero-description,.section-intro,.price-description,.size-guide-copy>p:not(.eyebrow),.material>p,.process-step>p,.shop-history,.extra-services p,.contact-inner>div>p:last-child:not(.fine-print),.delivery>div,.process-footnote>p,.intro-strip>p:nth-child(2){font-size:15px}
  .price-description{max-width:none}
  .typeface figcaption p{font-size:12px}
  .fine-print,.price-size,.reading,.price-note,.typeface-note,.materials-note,.hero-photo figcaption,.shop-story figcaption,.map figcaption,.contact-hours,.footer-bottom,.intro-strip a,.material-title p{font-size:12px}
  .header-hours{font-size:10px}
  .main-nav{font-size:12px}
  .mobile-contact>a{font-size:13px}
}
@media(max-width:760px){.typeface figcaption p{font-size:11px}.typeface figcaption p br{display:none}}

/* 2026-10-26 Hiroki指摘：濃い色のベタ塗りはAI生成感 → ボタンは白地＋細い線、ナビの文字に細い下線 */
.button:hover{background:var(--white);color:var(--ink)}
.button-red{background:var(--paper);color:var(--red);border-color:var(--red)}
.button-red:hover{background:var(--white);color:var(--red)}
.main-nav a{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:7px;text-decoration-color:rgba(37,42,38,.32)}
.main-nav a:hover{text-decoration-color:var(--red)}
.sp-br{display:none}@media(max-width:760px){.sp-br{display:inline}}
