@charset "UTF-8";
:root{--paper:#faf9f4;--ink:#343b30;--green:#455940;--muted:#777c6c;--line:#d9ddcd;--serif:"Yu Mincho","Hiragino Mincho ProN",serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--paper);color:var(--ink);font-family:"Yu Gothic",Meiryo,sans-serif;font-size:14px;line-height:2}a{color:inherit;text-decoration:none}a:hover{opacity:.72}a:focus-visible{outline:3px solid #a88048;outline-offset:6px}img{display:block;max-width:100%;object-fit:cover}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-family:var(--serif);font-weight:500}h2{font-size:35px;line-height:1.8;letter-spacing:.09em}p{letter-spacing:.035em}.topline{padding:6px 5%;font-size:10px;letter-spacing:.18em;border-bottom:1px solid var(--line)}.header{height:108px;display:flex;align-items:center;gap:34px;padding:0 5%}.brand{display:flex;align-items:center;gap:13px;flex-shrink:0}.brand span{font-family:var(--serif);font-size:31px;line-height:1.2;letter-spacing:.14em}.brand small{display:block;font-family:"Yu Gothic",sans-serif;font-size:9px;letter-spacing:.17em;margin-bottom:8px}.header nav{display:flex;gap:27px;margin-left:auto;font-size:12px;font-weight:600}.header-contact{background:var(--green);color:white;padding:15px 22px;font-size:12px}.header-contact span{margin-left:18px}.hero{height:610px;margin:0 3%;position:relative;overflow:hidden}.hero-photo{width:79%;height:100%;margin-left:auto}.hero-panel{position:absolute;left:0;top:52px;background:rgba(250,249,244,.97);padding:42px 50px 38px;width:560px}.eyebrow{font-size:11px;letter-spacing:.19em;color:var(--green);font-weight:600}.eyebrow span{font-size:9px;color:#959985;margin-left:17px;font-weight:400;letter-spacing:.16em}h1{font-size:49px;line-height:1.65;letter-spacing:.12em;margin:19px 0;white-space:nowrap}.hero-copy{font-size:13px;line-height:2.35}.text-link{display:inline-flex;align-items:center;gap:26px;border-bottom:1px solid #aab29c;padding:13px 0;font-size:12px}.hero-panel .text-link{margin-top:18px}.hero-label{position:absolute;right:31px;top:34px;writing-mode:vertical-rl;background:var(--paper);padding:21px 10px;font-family:var(--serif);letter-spacing:.24em}.hero-note{position:absolute;bottom:19px;left:19px;font-size:9px;letter-spacing:.2em;writing-mode:vertical-rl}.reassurance{max-width:1120px;margin:auto;display:flex;align-items:center;justify-content:space-between;padding:26px 0;border-bottom:1px solid var(--line);font-size:12px}.reassurance>span{padding-right:32px;border-right:1px solid var(--line)}.reassurance b{font-weight:500;margin-right:10px}.reassurance strong{font-family:var(--serif);font-size:23px;margin-left:17px;letter-spacing:.04em}.section{max-width:1120px;margin:auto;padding:100px 0}.about{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:center}.about-photo{position:relative;padding:0 24px 24px 0}.about-photo:after{content:"";position:absolute;inset:30px 0 0 30px;background:#e8eadf;z-index:-1}.about-photo img{height:480px;width:100%;object-position:40% center}.about-photo span{display:block;font-size:11px;text-align:right;margin-top:13px;letter-spacing:.12em}.about h2{margin:22px 0}.about-text>p:not(.eyebrow){font-size:13px;margin:20px 0;line-height:2.35}.signature{border-top:1px solid var(--line);margin-top:25px;padding-top:20px;font-size:11px}.signature strong{font-family:var(--serif);font-size:23px;font-weight:500;margin-left:35px}.services{padding-top:30px}.section-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:42px}.section-heading h2{margin-top:16px}.section-heading>p{font-size:12px;color:#73776b;line-height:2.2}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.service-grid article{padding:24px 28px;background:#f0f1e7;position:relative}.number{font-family:var(--serif);font-size:13px;color:#8b937c}.service-grid h3{font-size:27px;margin:10px 0}.service-grid h3 small{font-family:"Yu Gothic",sans-serif;font-size:10px;margin-left:14px;color:var(--muted)}.service-grid p{font-size:12px;min-height:78px}.service-grid article>a{display:flex;justify-content:space-between;font-size:11px;border-top:1px solid #cfd5c2;padding-top:13px;margin-top:17px}.tatami-art{height:110px;position:relative;margin:0 auto;width:190px;transform:rotate(-12deg) skewX(18deg)}.tatami-art i{position:absolute;width:165px;height:68px;left:10px;top:25px;border-left:10px solid #596b42;border-right:10px solid #596b42;background:repeating-linear-gradient(0deg,#b7c69b 0px,#b7c69b 2px,#a4b588 2px,#a4b588 3px);box-shadow:0 7px 0 #c4b58e}.omote i+ i{top:13px;left:25px;opacity:.45;transform:rotate(-8deg)}.shintatami i:nth-child(2){top:17px}.shintatami i:nth-child(3){top:9px}.ura i:first-child{background:#d0c399}.ura i+i{transform:rotate(-17deg);left:25px;top:9px}.material-note{margin-top:28px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:27px 0;display:flex;gap:32px;align-items:center}.material-note>span{font-family:var(--serif);font-size:20px}.material-note p{font-size:12px}.material-note a{margin-left:auto;font-size:11px}.price-wrap{background:#edf0e6}.price table{border-collapse:collapse;width:100%;background:#fafbf6}.price caption{text-align:left;font-family:var(--serif);font-size:21px;padding-bottom:17px}.price th,.price td{text-align:left;padding:19px 32px;border-bottom:1px solid var(--line)}.price thead{background:var(--green);color:#fff;font-size:12px}.price tbody th{font-size:14px;font-weight:500;width:40%}.price td{font-family:var(--serif);font-size:25px;width:30%}.price td small{font-size:12px;margin-left:5px}.other-prices{display:grid;grid-template-columns:1fr 1fr;gap:0 50px;margin-top:25px}.other-prices p{display:flex;justify-content:space-between;border-bottom:1px solid #d3d9c7;padding:13px 0;font-size:12px}.other-prices strong{font-family:var(--serif);font-size:20px;font-weight:500}.fineprint{font-size:11px;color:var(--muted);margin-top:18px}.work-feature{display:grid;grid-template-columns:1.55fr 1fr;background:#f0eee5}.work-feature>img{width:100%;height:370px}.work-feature>div{padding:47px 36px}.work-feature h3{font-size:28px;line-height:1.8;margin:16px 0}.work-feature p{font-size:12px;margin-bottom:22px}.tag{display:inline-block;padding:3px 12px;border:1px solid #c7cbbb;font-size:10px;margin-right:8px}.process-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px;margin-top:29px}.process-grid img{width:100%;height:205px}.process-grid figcaption{font-size:12px;padding-top:12px}.process-grid b{font-family:var(--serif);font-size:17px;font-weight:400;margin-right:12px;color:#81906b}.flow-wrap{background:#f1efe7}.flow-wrap h2{margin-top:15px}.flow{padding:0;list-style:none;display:grid;grid-template-columns:repeat(4,1fr);margin:40px 0 0}.flow li{padding:0 25px;border-left:1px solid #d3d5c7}.flow li:first-child{padding-left:0;border:0}.flow li>span{font-family:var(--serif);font-size:26px;color:#909b7e}.flow h3{font-size:19px;margin:12px 0}.flow p{font-size:12px;color:#73776b}.area{display:flex;align-items:center;justify-content:space-between;padding-top:75px;padding-bottom:75px}.area h2{margin-top:15px;font-size:29px}.area-main{font-family:var(--serif);font-size:21px;margin-bottom:15px}.area>div+div>p:not(.area-main){font-size:12px}.contact{background:#43563e;color:#fff;text-align:center;padding:65px 20px;background-image:repeating-linear-gradient(90deg,transparent,transparent 5px,#ffffff03 5px,#ffffff03 6px)}.contact .eyebrow{color:#d6dfc5}.contact h2{font-size:31px;margin:18px 0 12px}.contact>p{font-size:12px}.phone{display:inline-block;font-family:var(--serif);font-size:47px;letter-spacing:.06em;margin-top:18px}.phone span{font-family:sans-serif;font-size:22px;margin-left:20px}.contact-hours{color:#dae0d3}.contact-benefits{display:inline-block;border-top:1px solid #73816a;padding:17px 45px 0;margin-top:25px;font-size:13px}.contact-benefits span{margin:0 30px;color:#95a287}footer{padding:55px max(5%,calc((100% - 1120px)/2)) 0}.footer-main{display:flex;justify-content:space-between;gap:50px}.footer-main p{font-size:11px;margin:22px 0 12px}.association{font-size:10px;color:var(--muted)}.footer-main nav{display:grid;grid-template-columns:1fr 1fr;gap:15px 45px;align-content:center;font-size:12px}.back-top{border:1px solid var(--line);width:46px;height:46px;text-align:center;line-height:44px}.copyright{border-top:1px solid var(--line);margin-top:40px;padding:20px 0;display:flex;justify-content:space-between;font-size:10px;color:var(--muted)}@media(max-width:1150px){.section,.reassurance{max-width:92%}.header{gap:20px;padding:0 3%}.header nav{gap:16px;font-size:11px}.header-contact{padding:14px}.about{gap:45px}.material-note{gap:18px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Desktop readability */
body{font-size:16px}
.topline{font-size:12px}
.brand small{font-size:11px}
.header nav{font-size:14px;gap:22px}
.header-contact{font-size:14px}
.hero-copy{font-size:16px}
.text-link,.hero-panel .text-link{font-size:14px}
.reassurance{font-size:14px}
.eyebrow{font-size:13px}
.eyebrow span{font-size:11px}
.about-photo span{font-size:13px}
.about-text>p:not(.eyebrow){font-size:16px}
.signature{font-size:13px}
.section-heading>p{font-size:15px}
.service-grid h3 small{font-size:12px}
.service-grid p{font-size:15px;min-height:100px}
.service-grid article>a{font-size:14px}
.material-note p{font-size:14px}
.material-note a{font-size:13px}
.price thead{font-size:15px}
.price tbody th{font-size:16px}
.price td small{font-size:14px}
.other-prices p{font-size:14px}
.fineprint{font-size:13px}
.work-feature>div{padding:32px 36px}
.work-feature p{font-size:15px}
.tag{font-size:12px}
.process-grid figcaption{font-size:15px}
.flow p{font-size:15px}
.area>div+div>p:not(.area-main){font-size:15px}
.contact>p{font-size:15px}
.contact-benefits{font-size:15px}
.footer-main p{font-size:14px}
.association{font-size:12px}
.footer-main nav{font-size:14px}
.copyright{font-size:12px}
@media(max-width:1150px){.header{gap:15px}.header nav{font-size:13px;gap:12px}.header-contact{padding:12px;font-size:13px}.material-note{flex-wrap:wrap}.material-note a{margin-left:0}}/* Readable desktop typography for the primary audience */
:root{--muted:#555e4e}
body{font-size:18px}
.topline,.brand small{font-size:14px}
.header{height:auto;min-height:120px;flex-wrap:wrap;padding-top:20px;padding-bottom:20px;gap:20px}
.header nav{font-size:16px;gap:22px;flex-wrap:wrap}
.header-contact{font-size:16px;padding:16px 20px}
.hero{height:660px}
.hero-copy{font-size:18px;line-height:2.1}
.text-link,.hero-panel .text-link,.reassurance{font-size:16px}
.eyebrow{font-size:16px}
.eyebrow span{display:none}
.about-text>p:not(.eyebrow){font-size:18px;line-height:2.1}
.about-photo span,.signature{font-size:16px}
.section-heading{gap:30px;align-items:center}
.section-heading>p{font-size:18px;color:#555e4e}
.service-grid h3 small{font-size:16px}
.service-grid p{font-size:18px;min-height:150px}
.service-grid article>a,.material-note a{font-size:16px}
.material-note{flex-wrap:wrap}
.material-note p{font-size:18px}
.material-note a{margin-left:0}
.price thead,.price tbody th{font-size:18px}
.price td small{font-size:16px}
.other-prices{column-gap:30px}
.other-prices p{font-size:16px;gap:12px;flex-wrap:wrap}
.other-prices strong{white-space:nowrap}
.fineprint{font-size:16px}
.work-feature{align-items:stretch}
.work-feature>img{height:100%;min-height:410px}
.work-feature>div{padding:30px}
.work-feature p{font-size:18px}
.tag,.process-grid figcaption{font-size:16px}
.flow h3{font-size:21px}
.flow p{font-size:18px;color:#555e4e}
.area{gap:45px}
.area>div+div>p:not(.area-main){font-size:18px}
.contact>p{font-size:18px}
.contact-benefits,.footer-main p,.footer-main nav{font-size:18px}
.association,.copyright{font-size:16px}
@media(max-width:1150px){.header nav,.header-contact{font-size:16px}.header nav{gap:18px}.header nav{order:3;width:100%;justify-content:center}.header-contact{margin-left:auto}}

/* Fine-tune the shop introduction */
.about-text>p:not(.eyebrow){font-size:16px;line-height:2;margin:18px 0}
