/* ブランド公式LINE画像には色変更・透過・変形・hover効果を適用しない。 */
.shared-contact-bar{background:#fffdfa;border-block:1px solid #decfca;padding:22px 32px;color:#282524}
.shared-contact-inner{max-width:1240px;margin:auto;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:24px 36px}
.shared-contact-title{font-size:24px;font-weight:500;margin:0;line-height:1.6}
.shared-phone-button{display:inline-flex;align-items:center;justify-content:center;gap:14px;padding:14px 24px;min-height:72px;border:2px solid #be3641;background:#fffdfa;color:#9c2631;text-decoration:none;font-size:24px;line-height:1.5}
.shared-phone-button span{display:flex;align-items:center;flex-wrap:wrap;gap:8px 16px}.shared-phone-button strong{font-size:28px;letter-spacing:.02em;white-space:nowrap}
.shared-phone-button:hover{background:#faeeee}.contact-phone-icon{width:28px;height:28px;flex-shrink:0}
.shared-line-control{display:flex;align-items:center;flex-wrap:wrap;gap:16px;font-size:24px;line-height:1.6}.shared-line-label{font-weight:500}.shared-line-status{font-size:22px;color:#625653}
.official-line-button,.official-line-button:disabled,.official-line-button:hover{display:inline-block;flex-shrink:0;width:232px;height:72px;min-height:0;padding:0;margin:0;border:0;border-radius:0;background:transparent;box-shadow:none;opacity:1;filter:none;transform:none;transition:none;vertical-align:middle;line-height:1;overflow:visible}
.official-line-button:disabled{cursor:not-allowed}.official-line-button img{display:block;width:232px;height:72px;max-width:none;object-fit:contain;margin:0;padding:0;border:0;opacity:1;filter:none;transform:none;transition:none}
.official-line-button[hidden]{display:none!important}.official-line-button:focus-visible,.shared-phone-button:focus-visible{outline:3px solid #282524;outline-offset:6px}
.contact-method .shared-line-control{margin-top:24px}.contact-method .shared-line-label{display:none}

/* かさぎばあちゃんの顔を、既存の追従相談リンクで共通表示する。 */
.personal-floating-consult{position:fixed;right:20px;top:50%;transform:translateY(-50%);z-index:20;width:112px;height:112px;border-radius:50%;display:block;text-decoration:none;box-shadow:0 4px 16px #28252420}
.personal-floating-consult.consult-face,.business-floating-consult.consult-face,.wedding-page .wedding-floating-consult.consult-face{background:#fff5e7;border:3px solid #be3641;overflow:visible;isolation:isolate}
.consult-face .consult-face-portrait{position:absolute;inset:0;display:block;border-radius:inherit;overflow:hidden;background:#fff5e7}
.consult-face .consult-face-portrait img{position:absolute;top:2px;left:50%;width:220%;height:auto;max-width:none;margin:0;padding:0;transform:translateX(-50%)}
.consult-face .consult-face-label{position:absolute;bottom:-34px;left:50%;transform:translateX(-50%);display:block;padding:4px 12px;border:2px solid #fffdfa;border-radius:999px;background:#be3641;color:#fff;font-size:20px;font-weight:700;line-height:1.4;white-space:nowrap;transition:background .16s}
.consult-face:hover{border-color:#982a34!important}
.consult-face:hover .consult-face-label{background:#982a34}
.consult-face:active .consult-face-label{background:#7d202a}
.consult-face:focus-visible{outline:3px solid #282524!important;outline-offset:5px}
@media(max-width:1099px){.business-floating-consult.consult-face{bottom:58px}}
@media(min-width:1100px){body[data-page="personal"]>main{padding-right:144px}}
@media(max-width:1099px){.personal-floating-consult{width:96px;height:96px;top:auto;bottom:58px;right:16px;transform:none}}
@media(prefers-reduced-motion:reduce){.consult-face,.consult-face .consult-face-label{transition:none!important}}
