/* ROUND9: client-provided photographs preserve their full original framing. */
.round8 .work-card figure,.round8 .business-card figure{height:auto;overflow:visible}
.round8 .work-card img,.round8 .business-card img,.round8 .shop-grid .shop-card img,.round8 .shop-grid .nec-item img{display:block;width:100%;height:auto!important;aspect-ratio:auto!important;object-fit:contain!important}
.round8.subpage main img{object-fit:contain}
.round8 .instagram-links{width:min(1080px,calc(100% - 80px));margin:32px auto 0;display:flex;flex-wrap:wrap;gap:18px;align-items:center}
.round8 .instagram-link{display:grid;grid-template-columns:64px auto;column-gap:12px;align-items:center;font-size:12px;text-decoration:none}
.round8 .instagram-link img{grid-row:span 2;width:64px;height:auto;object-fit:contain;border-radius:0}
.round8 .instagram-link span{display:block}
.round8 .musashi-gallery figure,.round8 .sub-gallery figure,.round8 .result-photos figure{margin:0}
.round8 .page-media-strip + .article{margin-top:60px}
@media(max-width:767px){.round8 .instagram-links{width:calc(100% - 40px)}.round8 .work-card figure,.round8 .business-card figure{height:auto}}
/* 10/21 card alignment: every card photo sits in the same 4:3 frame (photo uncropped, letterboxed only if not 4:3) */
.round8 .work-card figure,.round8 .business-card figure{aspect-ratio:4/3;height:auto;overflow:hidden;background:#efe9df;display:flex;align-items:center;justify-content:center}
.round8 .work-card img,.round8 .business-card img{width:100%;height:100%!important;object-fit:contain!important}
.round8 .work-card,.round8 .business-card{display:flex;flex-direction:column}
.round8 .work-card .card-copy,.round8 .business-card .card-copy{flex:1}
/* footer SNS + powered (10/22) */
.footer-sns{display:flex;align-items:center;gap:16px;margin-top:22px}
.footer-main .footer-ig{display:inline-flex;align-items:center;gap:10px;padding:10px 18px;border:1px solid currentColor;border-radius:999px;font:500 13px/1.2 "DM Sans","Noto Sans JP",sans-serif;text-decoration:none;color:inherit}
.footer-ig b{font-weight:600;letter-spacing:.02em}
.footer-ig:hover{background:#1f3d33;color:#fff}
.footer-ig-qr{display:block;width:72px;height:72px;overflow:hidden;border:1px solid var(--line);background:#fff}
.footer-ig-qr img{width:100%;height:100%;object-fit:contain}
.footer-bottom{align-items:center;gap:16px}
.footer-powered{font:500 10px/1 "DM Sans",sans-serif;letter-spacing:.08em;color:inherit;opacity:.75;text-decoration:none}
.footer-powered:hover{opacity:1;text-decoration:underline}
@media(max-width:767px){.footer-bottom{flex-wrap:wrap}.footer-sns{flex-wrap:wrap}}
.contact-ig{display:flex;align-items:center;gap:28px;margin:48px 0 8px;padding:28px;border:1px solid var(--line);background:#fffdf8}
.contact-ig img{width:140px;height:140px;flex:none;background:#fff}
.contact-ig p{margin:0 0 12px;font-size:14px;line-height:1.8}
.contact-ig .contact-ig-en{font:600 11px/1 "DM Sans",sans-serif;letter-spacing:.14em;color:#b5523b;margin-bottom:10px}
.contact-ig .footer-ig{display:inline-flex;padding:10px 18px;border:1px solid currentColor;border-radius:999px;font:500 13px/1.2 "DM Sans","Noto Sans JP",sans-serif;text-decoration:none;color:inherit}
@media(max-width:767px){.contact-ig{flex-direction:column;align-items:flex-start;padding:22px}.contact-ig img{width:120px;height:120px}}
.article.contact-page .contact-ig img{width:140px!important;height:140px!important;max-width:140px!important;margin:0!important;flex:0 0 140px;aspect-ratio:1/1;object-fit:contain}
.article.contact-page .contact-ig>div{flex:1 1 auto;min-width:0}
@media(max-width:767px){.article.contact-page .contact-ig img{width:120px!important;height:120px!important;flex-basis:120px}}
.company-map{margin:32px 0 8px}
.company-map iframe{display:block;width:100%;height:380px;border:0;background:#e9e1d3}
.company-map-link{display:inline-block;margin-top:10px;font-size:13px;text-decoration:underline}
.contact-access{margin:48px 0 0;padding:28px;border:1px solid var(--line);background:#fffdf8}
.contact-access p{margin:0 0 8px;font-size:14px;line-height:1.8}
.contact-access .contact-ig-en{font:600 11px/1 "DM Sans",sans-serif;letter-spacing:.14em;color:#b5523b;margin-bottom:10px}
@media(max-width:767px){.company-map iframe{height:300px}.contact-access{padding:22px}}
.article .details-table + .company-map{max-width:600px;margin-left:auto;margin-right:auto}
/* message layout (10/22) */
body[data-page="message"] .msg{width:min(1080px,calc(100% - 80px));margin:24px auto 120px}
body[data-page="message"] .msg-grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:72px;align-items:start}
body[data-page="message"] .msg-photo{position:sticky;top:110px;margin:0}
body[data-page="message"] .msg-photo img{display:block;width:100%;aspect-ratio:4/5;height:auto;object-fit:cover;object-position:30% 40%;border-radius:4px}
body[data-page="message"] .msg-photo figcaption{margin-top:16px;font:600 20px/1.5 "Shippori Mincho B1",serif;letter-spacing:.12em}
body[data-page="message"] .msg-photo figcaption span{display:block;font:500 11px/1.8 "Noto Sans JP",sans-serif;letter-spacing:.1em;opacity:.7}
body[data-page="message"] .msg-label{margin:0 0 28px;font:600 12px/1 "DM Sans","Noto Sans JP",sans-serif;letter-spacing:.24em;color:#b5523b}
body[data-page="message"] .msg-lead{margin:0 0 48px;font:600 clamp(24px,2.6vw,34px)/1.7 "Shippori Mincho B1",serif;letter-spacing:.06em}
body[data-page="message"] .msg-text p{margin:0 0 1.6em;font:400 16px/2.15 "Noto Sans JP",sans-serif;letter-spacing:.04em}
body[data-page="message"] .msg-sign{display:flex;flex-direction:column;align-items:flex-end;gap:4px;margin:56px 0 0;padding-top:28px;border-top:1px solid var(--line);font-size:13px;letter-spacing:.08em}
body[data-page="message"] .msg-sign b{font:600 26px/1.4 "Shippori Mincho B1",serif;letter-spacing:.2em}
body[data-page="message"] .msg-cta{margin-top:48px}
@media(max-width:820px){
 body[data-page="message"] .msg{width:calc(100% - 40px);margin-bottom:80px}
 body[data-page="message"] .msg-grid{grid-template-columns:1fr;gap:36px}
 body[data-page="message"] .msg-photo{position:static}
 body[data-page="message"] .msg-text p{font-size:15px;line-height:2}
 body[data-page="message"] .msg-lead{margin-bottom:32px}
}
body[data-page="message"] .msg-lead .nw{white-space:nowrap}
/* shop: uniform card widths/heights (10/22) */
@media(min-width:768px){
 body.biz-b.round8 .b-scroll{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;width:auto;margin:0 42px;padding:28px 0 0!important;overflow:visible}
 body.biz-b.round8 .b-other .b-scroll{grid-template-columns:repeat(5,minmax(0,1fr));gap:18px}
 body.biz-b.round8 .b-card{flex:none!important;width:auto!important;min-width:0}
}
body.biz-b.round8 .b-card img{width:100%!important;aspect-ratio:4/3!important;height:auto!important;object-fit:cover!important}
body.biz-b.round8 .shop-grid .shop-card img,body.biz-b.round8 .b-ranking .shop-card img{width:100%!important;aspect-ratio:1/1!important;height:auto!important;object-fit:contain!important;background:#f1f1ef}
body.biz-b.round8 .shop-grid{align-items:stretch}
@media(max-width:767px){body.biz-b.round8 .b-scroll{padding:22px 20px 12px!important;scroll-padding-left:20px}}

/* ROUND12 — shared reception. The body family supplies only its palette. */
body.round8{--inquiry-bg:#26382f;--inquiry-ink:#fff;--inquiry-accent:#fff}
body.round8 #main .audit-contact{display:block;width:100%;max-width:none;margin:0;padding:72px max(40px,calc((100% - 1080px)/2));border:0;border-radius:0;background:var(--inquiry-bg);color:var(--inquiry-ink);font-family:"Noto Sans JP",sans-serif;text-align:left;box-sizing:border-box}
body.round8 #main .audit-contact-inner{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:64px;max-width:1080px;margin:0 auto;align-items:start}
body.round8 #main .audit-contact-lead{min-width:0;max-width:none;margin:0;padding:0}
body.round8 #main .audit-contact-label{margin:0 0 24px;font:600 12px/1.5 "DM Sans",sans-serif;letter-spacing:.16em;color:inherit}
body.round8 #main .audit-contact h2{margin:0 0 24px;font-family:"Noto Sans JP",sans-serif;font-size:clamp(26px,2.7vw,36px);font-weight:500;line-height:1.6;color:inherit;letter-spacing:.02em}
body.round8 #main .audit-contact h2 span{display:block;white-space:nowrap}
body.round8 #main .audit-contact-description{margin:0 0 24px;font-size:14px;line-height:1.9;color:inherit}
body.round8 #main .audit-contact-link{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 20px;border:1px solid currentColor;border-radius:999px;color:inherit;font:500 13px/1.6 "Noto Sans JP",sans-serif;text-decoration:none}
body.round8 #main .audit-contact-link:hover{background:#ffffff18}
body.round8 #main .audit-contact form.contact-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;width:100%;min-width:0;max-width:none;margin:0;padding:0;border:0;background:none;color:inherit;border-radius:0;box-shadow:none;text-align:left}
body.round8 #main .audit-contact form .field{display:block;grid-column:auto;min-width:0;width:100%;margin:0}
body.round8 #main .audit-contact form .field:nth-of-type(n+3),body.round8 #main .audit-contact form>.privacy,body.round8 #main .audit-contact form>button,body.round8 #main .audit-contact form>.demo-status{grid-column:1/-1}
body.round8 #main .audit-contact form label{display:block;margin:0 0 8px;font:500 13px/1.6 "Noto Sans JP",sans-serif;color:inherit}
body.round8 #main .audit-contact form input,body.round8 #main .audit-contact form select,body.round8 #main .audit-contact form textarea{display:block;box-sizing:border-box;width:100%;min-width:0;max-width:100%;height:48px;min-height:48px;margin:0;padding:12px;border:1px solid #c9cfcb;border-radius:4px;background:#fff;color:#232923;font:400 16px/1.5 "Noto Sans JP",sans-serif}
body.round8 #main .audit-contact form textarea{height:144px;resize:vertical}
body.round8 #main .audit-contact form :is(input,select,textarea,button,a):focus-visible{outline:2px solid var(--inquiry-accent);outline-offset:4px}
body.round8 #main .audit-contact form .privacy,body.round8 #main .audit-contact form .demo-status{margin:0;font:400 12px/1.8 "Noto Sans JP",sans-serif;color:inherit}
body.round8 #main .audit-contact form .demo-status:empty{display:none}
body.round8 #main .audit-contact form button{display:inline-flex;justify-content:center;justify-self:start;align-items:center;width:auto;min-width:0;max-width:100%;min-height:48px;margin:0;padding:12px 24px;border:1px solid currentColor;border-radius:999px;background:var(--inquiry-ink);color:var(--inquiry-bg);font:500 14px/1.6 "Noto Sans JP",sans-serif;cursor:pointer}
body.round8 #main .audit-contact .contact-list{display:block;margin:32px 0 0;padding:0;border:0}
body.round8 #main .audit-contact .contact-list p{margin:0;padding:12px 0;border-bottom:1px solid #ffffff40;font-size:12px;line-height:1.8}
body.round8 #main .audit-contact .contact-list a{color:inherit}
body.round8 .about-photo{aspect-ratio:16/9;overflow:hidden;border-radius:8px}
body.round8 .about-photo img{width:100%;height:100%;object-fit:cover;object-position:center 85%}
body.round8[data-page="about"] .lead-photo img{width:100%;aspect-ratio:16/9;height:auto;object-fit:cover;object-position:center 85%}
body.round8[data-page="about"] .content-split{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,.6fr);gap:48px;align-items:center}
body.round8[data-page="about"] .content-split>.copy{margin:0;max-width:none}
body.round8[data-page="about"] .content-split>figure{width:100%;max-width:280px;margin:0;justify-self:end}
body.round8[data-page="about"] .content-split>figure img{width:100%;height:auto}
body.round8 .work-card figure,body.round8 .business-card figure{aspect-ratio:4/3;overflow:hidden;border:0;background:none}
body.round8 .work-card img,body.round8 .business-card img{width:100%;height:100%!important;aspect-ratio:4/3!important;object-fit:cover!important}
body.round8 .message-photo img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}
body.round8 .contact-page .audit-contact{margin-top:56px;padding:40px;border-radius:8px}
body.round8 .contact-page .audit-contact-inner{gap:40px;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)}
body.round8 .contact-page .contact-access .contact-direct{max-width:none;margin:12px 0;font-size:16px;overflow-wrap:anywhere}
body.round8 #form{scroll-margin-top:100px}
@media(max-width:760px){
 body.round8 #main .audit-contact{padding:48px 20px}
 body.round8 #main .audit-contact-inner{grid-template-columns:minmax(0,1fr);gap:32px}
 body.round8 #main .audit-contact h2{font-size:26px;margin-bottom:18px}
 body.round8 #main .audit-contact form.contact-form{grid-template-columns:minmax(0,1fr);gap:18px}
 body.round8 #main .audit-contact form .field{grid-column:1/-1}
 body.round8 #main .contact-page .audit-contact{padding:28px 20px;margin-top:40px}
 body.round8 #main .contact-page .audit-contact-inner{grid-template-columns:minmax(0,1fr)}
 body.round8[data-page="about"] .content-split{grid-template-columns:1fr;gap:28px}
 body.round8[data-page="about"] .content-split>figure{justify-self:start;max-width:220px}
}
body.round8 #main .audit-contact .contact-list p{min-height:0;border-right:0;padding:10px 0}
body.round8 #main .contact-page .audit-contact{margin-top:48px;padding:40px;border-radius:8px}
body.round8 #main .contact-page .audit-contact-inner{gap:40px;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)}
body.round8[data-page="about"] .article{margin-bottom:64px}
@media(max-width:760px){body.round8 #main .contact-page .audit-contact{padding:28px 20px;margin-top:40px}body.round8 #main .contact-page .audit-contact-inner{grid-template-columns:minmax(0,1fr);gap:32px}}
body.round8 #main .audit-contact::before,body.round8 #main .audit-contact::after{content:none}
/* sub-page navigation (10/22) */
.subnav{position:sticky;top:81px;z-index:15;background:color-mix(in srgb,var(--paper,#f4efe6) 96%,transparent);border-bottom:1px solid rgba(0,0,0,.12);backdrop-filter:blur(6px)}
.subnav-in{width:min(1080px,calc(100% - 80px));margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:12px 0}
.subnav-crumb{margin:0;font:500 11px/1.4 "DM Sans","Noto Sans JP",sans-serif;letter-spacing:.06em;color:#6b665e;white-space:nowrap}
.subnav-crumb a{color:inherit;text-decoration:none}.subnav-crumb a:hover{text-decoration:underline}
.subnav-crumb span{margin:0 8px;opacity:.5}.subnav-crumb b{color:#222;font-weight:600}
.subnav-tabs{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.subnav-tabs a{display:inline-flex;align-items:center;min-height:36px;padding:0 16px;border:1px solid rgba(0,0,0,.18);border-radius:999px;font:500 13px/1 "Noto Sans JP",sans-serif;color:#2a2826;text-decoration:none;background:#fff;white-space:nowrap;transition:background .2s,color .2s,border-color .2s}
.subnav-tabs a:hover{border-color:var(--subnav-accent,#2a2826)}
.subnav-tabs a[aria-current="page"]{background:var(--subnav-accent,#2a2826);border-color:var(--subnav-accent,#2a2826);color:#fff}
.subnav--a{--subnav-accent:#2a2826}.subnav--d{--subnav-accent:#12805a}
.works-dropdown a.works-sub{padding-left:22px!important;font-size:.92em;opacity:.8}
.works-dropdown a.works-sub::before{content:"– ";opacity:.6}
@media(max-width:720px){
 .subnav{top:68px}
 .subnav-in{width:100%;flex-direction:column;align-items:stretch;gap:8px;padding:10px 0}
 .subnav-crumb{padding:0 20px;overflow:hidden;text-overflow:ellipsis}
 .subnav-tabs{flex-wrap:nowrap;justify-content:flex-start;overflow-x:auto;padding:0 20px 2px;scrollbar-width:none}
 .subnav-tabs::-webkit-scrollbar{display:none}
 .subnav-tabs a{min-height:34px;padding:0 14px;font-size:12px}
}
.subnav{position:relative;top:auto;z-index:2}
.round8.subpage main>.subnav:first-child{margin-top:0}
.works-dropdown a.works-sub{font-size:13px!important;padding-top:6px!important;padding-bottom:6px!important;opacity:.85}
.subnav-tabs a[aria-current="page"]{color:#fff!important}

/* ROUND13: semantic phrase boundaries, without hiding or clipping heading text. */
body.round8 .nw{display:inline-block;white-space:nowrap}
@media(min-width:721px) and (max-width:1100px){
 body.round8 .work-card h3{font-size:21px;letter-spacing:0}
}
/* Anchor the representative photo to the MESSAGE block with a shared edge. */
body.round8 .message{padding-block:64px}
body.round8 .message-wrap{gap:48px}
body.round8 .message-photo,body.round8 .message-photo img{border-radius:0}
@media(max-width:720px){
 body.round8 .message{padding-top:0;padding-bottom:48px}
 body.round8 .message-wrap{gap:32px}
 body.round8 .message-photo{width:calc(100% + 40px);margin-inline:-20px}
}
/* Keep the portrait's face inside its existing circular hero frame. */
body.round8 .hero-circle img[src="assets/client1021/misc/kancho.jpg"]{object-position:center top}
/* EC cleanup (10/22) */
body.biz-b .b-consult{display:grid;grid-template-columns:minmax(0,1.4fr) auto;gap:40px;align-items:end;width:min(1080px,calc(100% - 80px));margin:0 auto;padding:72px 0;border-top:1px solid rgba(0,0,0,.12)}
body.biz-b .b-consult h2{margin:8px 0 16px;font-size:clamp(24px,2.4vw,34px);line-height:1.5}
body.biz-b .b-consult p{margin:0;font-size:15px;line-height:2}
body.biz-b .b-consult .b-actions{display:flex;flex-direction:column;gap:10px}
.cart-legal{width:min(1080px,calc(100% - 80px));margin:0 auto 72px;font-size:13px}.cart-legal a{color:inherit}
.tokushoho-table{width:100%;max-width:820px;margin:0 auto}.tokushoho-table th{width:30%;text-align:left;vertical-align:top}
@media(max-width:720px){body.biz-b .b-consult{grid-template-columns:1fr;width:calc(100% - 40px);padding:48px 0}.cart-legal{width:calc(100% - 40px)}}
.footer-legal{font:500 10px/1 "DM Sans","Noto Sans JP",sans-serif;letter-spacing:.06em;color:inherit;opacity:.75;text-decoration:none;margin-left:auto}.footer-legal:hover{opacity:1;text-decoration:underline}
