.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.home-preview main>section.approved-story{padding:0!important;height: min(790px,calc(100svh - 120px));min-height:580px;background:#f6f4e9}.approved-story iframe{width:100%;height:100%;border:0;display:block}body{color:#293629}.home-preview main p,.home-preview main dd,.home-preview main li,.subpage main p,.subpage main li{font-size:16px;line-height:1.9}.home-preview main small,.home-preview .scope,.home-preview figcaption,.home-preview .assurances span,.global-footer small,.subpage main small{font-size:14px;color:#465343}.home-preview .representative{max-width:185px}.home-preview .representative img{height:auto;max-height:220px;object-fit:contain}.team-intro{margin:36px auto;max-width:1050px}.team-intro img{width:100%;height:auto;display:block}.image-zoom{padding:0;border:0;background:transparent;cursor:zoom-in;display:block;width:100%}.team-intro>p{font-size:14px!important}.instagram-link{display:inline-block;margin-top:12px;text-underline-offset:5px}.reason-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin-top:30px}.reason-grid h3{font-size:21px;line-height:1.6}.reasons{background:#edf1e5}.home-faq details{border-bottom:1px solid #c7cebe;padding:22px 0}.home-faq summary{font-size:18px;cursor:pointer;line-height:1.7}.home-faq details p{margin-top:16px}.footer-detail{margin-top:25px;border-top:1px solid #cbd2c2;padding-top:20px}.footer-detail p{font-size:14px;line-height:1.8}.bottom-contact{grid-template-columns:1fr 1fr 1.5fr!important}.bottom-contact a{font-size:14px!important}.zoom-dialog{padding:16px;border:1px solid #a2b191;max-width:95vw;max-height:95vh}.zoom-dialog::backdrop{background:#172013cc}.zoom-dialog button{position:sticky;top:0;padding:12px 20px;background:white;border:1px solid #777;cursor:pointer}.zoom-dialog .zoom-scroll{overflow:auto;max-height:78vh}.zoom-dialog img{max-width:none;width:min(1500px,180vw);height:auto}.comic-zoom{margin:12px auto;display:block;padding:12px 20px;font:inherit;background:#fff;border:1px solid #6c8054;cursor:pointer}.subpage .profile-portrait img{max-height:300px;object-fit:contain}@media(max-width:760px){.home-preview main>section.approved-story{height:calc(100svh - 114px);min-height:590px}.reason-grid{grid-template-columns:1fr;gap:16px}.reason-grid article+article{border-top:1px solid #c7cebe;padding-top:18px}.team-intro{margin-block:28px}.home-preview .people{grid-template-columns:1fr}.home-faq summary{font-size:17px}.global-footer{padding-bottom:95px}.bottom-contact a{padding-inline:4px!important}}
.bottom-contact{display:grid!important;grid-template-columns:1fr 1fr 1.55fr!important}.bottom-contact a{white-space:nowrap;line-height:1.5!important;font-size:13px!important;width:auto!important}.team-intro .image-zoom img{aspect-ratio:1672/941}
@media(max-width:760px){.home-preview main>section.approved-story{height:calc(100svh - 180px);min-height:560px}}
/* Persistent consultation / Instagram / LINE access on every viewport. */
body{padding-bottom:calc(68px + env(safe-area-inset-bottom))}
.bottom-contact{position:fixed!important;inset:auto 0 0!important;z-index:50;background:#fff;display:grid!important;grid-template-columns:1fr 1.3fr 1fr!important;border-top:1px solid #c9d0c2;box-shadow:0 -3px 15px #23382412;padding:0 0 env(safe-area-inset-bottom)!important}
.bottom-contact a{display:flex;align-items:center;justify-content:center;min-height:64px;text-decoration:none;font-weight:700;font-size:16px!important;border-right:1px solid #d5dccd;white-space:nowrap;color:#2e492d;background:#fff;padding:12px 8px!important}
.bottom-contact .fixed-reserve{background:#f4b31b;color:#38251d}
.bottom-contact :is(.fixed-instagram,.fixed-phone){background:#f56868;color:#38251d}
.bottom-contact .fixed-line{background:#087e3b!important;color:#fff!important;border-right:0}
.bottom-contact a:hover{filter:brightness(.94)}
@media(min-width:761px){.bottom-contact{padding-inline:max(0px,calc((100% - 1040px)/2))!important}.bottom-contact a{font-size:18px!important}}
@media(max-width:760px){.bottom-contact a{min-height:58px;font-size:15px!important}body{padding-bottom:calc(62px + env(safe-area-inset-bottom))}}
/* Full-width, quiet fills with brand-colored outlines. */
.bottom-contact{padding-inline:0!important;background:#f8f7f1;gap:0;border-top:0;box-shadow:0 -2px 10px #2436240a}
.bottom-contact a{border:2px solid;box-sizing:border-box}
.bottom-contact :is(.fixed-instagram,.fixed-phone){border-color:#f56868;background:#f6eeeb;color:#68453f}
.bottom-contact .fixed-reserve{border-color:#f4b31b;background:#f5f0df;color:#594c2c}
.bottom-contact .fixed-line{border:2px solid #087e3b;background:#edf2e9!important;color:#36573c!important}
.bottom-contact a:hover{filter:none;background:#e8ebdf}
.bottom-contact a:focus-visible{outline:3px solid #293d2d;outline-offset:-6px}
/* Approved unified interior for the three fixed buttons. */
.bottom-contact :is(.fixed-instagram,.fixed-phone),.bottom-contact .fixed-reserve,.bottom-contact .fixed-line{background:#f5f3ea!important;color:#293e2d!important}
.bottom-contact a:hover{background:#eae9df!important}
/* Selected option 5: fine pictograms inside colored circles. */
.bottom-contact a:is(.fixed-instagram,.fixed-phone),.bottom-contact a.fixed-reserve,.bottom-contact a.fixed-line{border:0;border-right:1px solid #d5d9cb;gap:12px;min-height:76px}
.bottom-contact a.fixed-line{border-right:0}
.bottom-contact .contact-icon{width:34px;height:34px;flex:none;border:1px solid #f56868;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;color:#293e2d}
.bottom-contact .fixed-reserve .contact-icon{border-color:#e7a61a}
.bottom-contact .fixed-line .contact-icon{border-color:#087e3b}
.bottom-contact svg{display:block;width:21px;height:21px}
body{padding-bottom:calc(80px + env(safe-area-inset-bottom))}
@media(max-width:760px){.bottom-contact a:is(.fixed-instagram,.fixed-phone),.bottom-contact a.fixed-reserve,.bottom-contact a.fixed-line{flex-direction:column;gap:4px;min-height:78px;padding:8px 3px!important;font-size:14px!important}.bottom-contact .contact-icon{width:29px;height:29px}.bottom-contact svg{width:18px;height:18px}body{padding-bottom:calc(82px + env(safe-area-inset-bottom))}}
/* Match label and icon outline with readable brand-tone colors. */
.bottom-contact a:is(.fixed-instagram,.fixed-phone){--contact-accent:#ac454b;color:var(--contact-accent)!important}
.bottom-contact a.fixed-reserve{--contact-accent:#886315;color:var(--contact-accent)!important}
.bottom-contact a.fixed-line{--contact-accent:#087e3b;color:var(--contact-accent)!important}
.bottom-contact :is(.fixed-instagram,.fixed-phone) .contact-icon,.bottom-contact .fixed-reserve .contact-icon,.bottom-contact .fixed-line .contact-icon{border-color:var(--contact-accent);color:var(--contact-accent)}
/* Approved: amber ring with brown reservation label and pictogram. */
.bottom-contact a.fixed-reserve{--contact-accent:#62452e;color:#62452e!important}
.bottom-contact .fixed-reserve .contact-icon{border-color:#e7a61a;color:#62452e}
/* Final request audit: readable body text and notes across templates. */
.home-preview main p,.home-preview main li,.home-preview main dd,.subpage main p,.subpage main li,.subpage main dd{font-size:16px!important;line-height:1.9;color:#303d2c}
.home-preview main .scope,.home-preview main .contact-flow,.home-preview main .uc-click-help,.home-preview main .team-intro>p,.subpage main .team-intro>p,body main figcaption,body main small,body main .small-note,body main .intro-kicker{font-size:14px!important;line-height:1.8;color:#46523f}
.subpage .portrait-hero .editorial-picture{width:230px;max-width:100%;justify-self:center;margin:auto}
.subpage .portrait-hero .editorial-picture img{width:100%;height:auto;max-height:260px;object-fit:contain}
.hero-service-subcopy{padding:22px 0;border-bottom:1px solid #d6ddce}.hero-service-subcopy p{text-align:center;font-family:"Yu Mincho",serif;font-size:21px!important}
a>.contact-icon:not(.bottom-contact .contact-icon){display:inline-flex;width:22px;height:22px;vertical-align:middle;margin-right:7px}.instagram-link{display:inline-flex;align-items:center;gap:5px}
.bottom-contact .fixed-reserve>span:last-child{white-space:normal;line-height:1.45}
@media(max-width:760px){.subpage .portrait-hero .editorial-picture{width:180px}.subpage .portrait-hero .editorial-picture img{max-height:205px}.hero-service-subcopy p{font-size:18px!important}.bottom-contact .fixed-reserve>span:last-child{max-width:9em}}

/* Keep short Japanese phrases intact on narrow screens. */
.bottom-contact .reserve-word{display:inline-block;white-space:nowrap}
.subpage .portrait-hero figcaption{width:260px;max-width:calc(100vw - 48px);position:relative;left:50%;transform:translateX(-50%);text-align:center}

/* 2026-10-11: approved phone line breaks and earlier team introduction. */
.mobile-phrase{display:inline}
.mobile-phrase-pair .mobile-phrase + .mobile-phrase{margin-left:0}
main>.team-intro{width:min(1120px,calc(100% - 48px));margin:60px auto}
.home-preview main>section.team-intro{padding:0 0 48px!important;margin-block:0}
.home-preview main>.team-intro>h2{display:grid;place-items:center;min-height:180px;margin:0;text-align:center;line-height:1.6}
.global-footer .footer-links{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px 28px;align-items:start}
.global-footer .footer-links>a{display:block;line-height:1.8}
@media(max-width:1100px){.global-footer .footer-links{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 22px}}
.home-preview .worry-group h3::before{content:none!important;display:none!important}
.plan .plan-price{font-size:clamp(23px,2.1vw,32px)!important;line-height:1.6;overflow-wrap:normal}
.price-range-note,.price-revision-extra{font-size:14px;line-height:1.8}
.price-revision-extra{border-top:1px solid #d6ddce;padding-top:16px;margin:16px 0}
.price-revision-extra ul{padding-left:1.3em}
.main-additional-fees,.partner-fees{margin:42px 0}
.case-breakdown .price{white-space:normal!important;flex-shrink:0}
@media(max-width:760px){
 .mobile-phrase-pair .mobile-phrase{display:block;white-space:nowrap;letter-spacing:0}
 .worry-group li.mobile-phrase-pair{display:block;position:relative;padding-left:28px;min-width:0;font-size:clamp(14px,4vw,16px)!important;line-height:1.9}
 .worry-group li.mobile-phrase-pair::before{position:absolute;left:0;top:24px}
 h2.mobile-phrase-pair{font-size:clamp(20px,5.6vw,28px)!important;line-height:1.65!important}
 h3.mobile-phrase-pair{font-size:clamp(17px,4.7vw,23px)!important;line-height:1.7!important}
 p.mobile-phrase-pair{font-size:clamp(14px,3.9vw,17px)!important;line-height:1.9!important}
 .assurances b{white-space:nowrap;font-size:clamp(13px,3.6vw,18px)!important;letter-spacing:0}
 .contact-flow .flow-first,.contact-flow .flow-last{display:block;white-space:nowrap;font-size:clamp(12px,3.5vw,16px);line-height:2}
 main>.team-intro{margin:38px auto;width:calc(100% - 40px)}
 .home-preview main>.team-intro>h2{min-height:120px;font-size:clamp(20px,5.5vw,28px)}
}

/* Final 1020: keep expanded support tables within narrow screens. */
.page-shushin .pricing-detail{grid-template-columns:minmax(0,1fr)}
.page-shushin .pricing-detail-content,.page-shushin .table-scroll{min-width:0;max-width:100%}

/* Keep the complete hero and its regional announcement above the fixed CTA bar. */
.home-preview main>section.approved-story{height:min(790px,calc(100svh - var(--hero-header-height,130px) - var(--hero-cta-height,84px) - 12px));min-height:0}
@media(max-width:760px){.home-preview main>section.approved-story{height:calc(100svh - var(--hero-header-height,76px) - var(--hero-cta-height,76px) - 12px);min-height:0}}

.plan-price .price-range-part{display:inline-block;white-space:nowrap}

.page-profile img.letter-photo{display:block;width:120px;max-width:100%;height:auto;max-height:160px;object-fit:contain;margin:20px 0 12px}

/* Home fees: explicit centered content width, matching neighboring sections. */
.home-preview .home-fee-guide>.home-fee-inner{width:min(1120px,calc(100% - 72px));max-width:1120px;margin-inline:auto}
@media(max-width:760px){.home-preview .home-fee-guide>.home-fee-inner{width:calc(100% - 40px)}}
