/* Shared layout/accessibility refinements, loaded after the original homepage CSS. */
*{box-sizing:border-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;line-height:1.8;color:#28242b;background:#fffdfb}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:3px solid #9364a9;outline-offset:4px}a,button{-webkit-tap-highlight-color:transparent}img{max-width:100%;height:auto}section[id],div[id]{scroll-margin-top:100px}.nav{gap:16px}.brand{flex-shrink:0}.brand-text span,.nav-links a,.nav-cta{white-space:nowrap}.nav-links{gap:20px}.nav-links a{padding:12px 0}.nav-cta{flex-shrink:0}.hero-copy{max-width:720px}.hero h1{font-size:clamp(2rem,4.2vw,3.6rem);letter-spacing:.015em;text-wrap:initial;line-height:1.4}.hero-region{display:block;font-size:.68em;margin-bottom:.35em}.hero-service{display:inline-block;white-space:nowrap}.hero-sub{font-size:clamp(1rem,1.5vw,1.18rem);max-width:610px}.hero{min-height:630px}.hero-copy{padding:60px 0}.kd-table-scroll{overflow-x:auto;border:1px solid #ded8df;border-radius:12px;background:#fff}.kd-table{width:100%;min-width:650px;border-collapse:collapse}.kd-table caption{text-align:left;padding:14px;font-weight:700}.kd-table th,.kd-table td{padding:14px;text-align:left;border-top:1px solid #ded8df}.kd-table thead{background:#eee7f2}.kd-table th{color:#4b3159}.kd-text-link,.kotodute-contact-page a:not(.kd-link-button){text-decoration:underline;text-underline-offset:4px}.kd-link-button{display:inline-block;padding:12px 20px;background:#6d4b7f;color:#fff;text-decoration:none;border-radius:30px}.kotodute-form .privacy-check{display:flex;gap:10px;align-items:flex-start;margin-top:16px;font-weight:400}.kotodute-form .privacy-check input{width:22px;min-width:22px;height:22px;margin-top:5px}.kotodute-form button:disabled{opacity:.65;cursor:wait}.kotodute-form input,.kotodute-form select,.kotodute-form textarea{font-size:16px}.response-note{margin-top:24px}.kd-document{width:min(860px,calc(100% - 40px));margin:50px auto 80px}.kd-document h1{font-size:clamp(1.7rem,4vw,2.4rem);line-height:1.5;color:#4b3159}.kd-document h2{font-size:1.3rem;margin-top:36px;color:#4b3159}.kd-document a{color:#654275}.kd-document dl{display:grid;grid-template-columns:180px 1fr;border-top:1px solid #ded8df}.kd-document dt,.kd-document dd{margin:0;padding:18px;border-bottom:1px solid #ded8df}.kd-document dt{font-weight:700;background:#f3edf5}.kd-document dd{overflow-wrap:anywhere}.kd-document-note{padding:20px;background:#f3edf5;border-radius:12px}.footer-small{font-size:.85rem}.footer-small a{display:inline-block;padding:5px 0}.phone-unavailable{font-size:.9rem!important}.floating{bottom:calc(10px + env(safe-area-inset-bottom))!important}.kotodute-contact-inner{overflow-wrap:anywhere}
@media(max-width:1100px){.nav-links{display:none;position:absolute;top:76px;left:0;right:0;background:#fff;border-bottom:1px solid #ded8df;padding:18px 24px;flex-direction:column;align-items:stretch;gap:4px;max-height:calc(100dvh - 76px);overflow-y:auto}.nav-links.open{display:flex}.menu-btn{display:block;min-width:44px;min-height:44px}.nav-cta{display:none}}
@media(max-width:640px){.hero h1{font-size:clamp(1.8rem,7.8vw,2.65rem)}.hero{min-height:0}.hero-copy{padding:46px 0}.hero-tags{gap:8px;margin:20px 0}.hero-tags span{font-size:.8rem}.brand-text span{font-size:.64rem}.hero-sub{font-size:1rem}.section{padding:54px 0}.profile-card{padding:24px}.footer-brand{flex-direction:column;align-items:flex-start}.kd-document dl{display:block}.kd-document dd{padding-top:12px}.kd-document dt{padding-bottom:12px}body.home{padding-bottom:calc(90px + env(safe-area-inset-bottom))}.kd-document{margin-top:32px}.kotodute-form{padding:18px!important}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*::before,*::after{transition:none!important;animation:none!important}}
.kd-skip{position:absolute;left:-9999px}.kd-skip:focus{left:10px;top:10px;z-index:100;background:#fff;padding:12px}
.plan .kd-plan-consult{margin:8px 0 20px;align-self:stretch}

.kd-phone-contact{background:#fff;color:#302736;padding:20px;border-radius:16px;text-align:center;margin:16px 0}.kd-phone-contact h3{color:#4b3159;font-size:1.05rem;line-height:1.6;margin:0 0 12px}.kd-phone-contact img{display:block;width:220px;max-width:100%;height:auto;margin:0 auto;image-rendering:pixelated}.kd-phone-contact p{font-size:.85rem;line-height:1.7;margin:12px 0 0}.kd-qr-payment-logos{display:block;width:100%;max-width:480px;height:auto;margin:14px 0;background:#fff}
