#jaha-chat-root{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;position:relative;z-index:2147483644;isolation:isolate}
.jaha-chat-launcher{appearance:none!important;-webkit-appearance:none!important;box-sizing:border-box!important;position:fixed;right:var(--jaha-chat-launcher-right,20px);bottom:var(--jaha-chat-launcher-bottom,20px);border:0;border-radius:999px;padding:14px 20px;background:#d9829e;color:#fff;font-size:15px;font-weight:700;box-shadow:0 6px 24px rgba(0,0,0,.18);cursor:pointer;z-index:2147483645;transition:none;white-space:nowrap}.jaha-chat-launcher.hidden{display:none!important}.jaha-chat-launcher,.jaha-chat-launcher *{color:#fff!important}.jaha-chat-launcher-icon{margin-right:4px}
.jaha-chat-panel{display:none;position:fixed;right:18px;bottom:18px;width:min(390px,calc(100vw - 24px));height:min(620px,calc(100vh - 36px));background:#fff;border-radius:16px;box-shadow:0 10px 40px rgba(0,0,0,.22);overflow:hidden;grid-template-rows:64px minmax(0,1fr) auto auto;z-index:2147483646;margin:0!important;padding:0!important;box-sizing:border-box!important;isolation:isolate}.jaha-chat-panel.open{display:grid}
.jaha-chat-header{position:relative!important;inset:auto!important;top:auto!important;right:auto!important;bottom:auto!important;left:auto!important;transform:none!important;float:none!important;display:flex!important;align-items:center!important;justify-content:space-between!important;box-sizing:border-box!important;width:100%!important;height:64px!important;min-height:64px!important;margin:0!important;padding:0 18px!important;background:#fff5f8!important;border:0!important;border-bottom:1px solid #eee!important;font-size:17px!important;line-height:1.4!important;z-index:3!important}.jaha-chat-close{border:0;background:transparent;font-size:28px;line-height:1;cursor:pointer;color:#555;min-width:44px;min-height:44px}
.jaha-chat-messages{position:relative!important;margin:0!important;z-index:1!important;box-sizing:border-box!important;min-height:0;overflow:auto;padding:20px 18px 18px!important;background:#fff;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.jaha-chat-bubble{max-width:84%;white-space:pre-wrap;word-break:break-word;margin:0 0 12px;padding:11px 13px;border-radius:14px;line-height:1.6;font-size:14px}.jaha-chat-bubble.system{display:block!important;position:relative!important;max-width:100%;padding:0!important;margin:0 0 14px!important;background:transparent;color:#555}.jaha-chat-bubble.visitor{margin-left:auto;background:#d9829e;color:#fff;border-bottom-right-radius:4px}.jaha-chat-bubble.staff{margin-right:auto;background:#f4f4f4;color:#222;border-bottom-left-radius:4px}.jaha-chat-bubble a{color:#c65b82!important;text-decoration:underline!important;font-weight:700!important;overflow-wrap:anywhere}.jaha-chat-bubble.visitor a{color:#fff!important}.jaha-chat-bubble a.jaha-chat-material-link{display:inline-flex!important;align-items:center;justify-content:center;min-height:40px;margin:4px 0;padding:0 16px;border-radius:999px;background:#d9829e;color:#fff!important;text-decoration:none!important;font-weight:700!important;overflow-wrap:normal}

.jaha-chat-resolution{max-width:88%;margin:4px 0 16px;padding:13px 14px;border:1px solid #efd5de;border-radius:14px;background:#fff8fa;color:#333;box-sizing:border-box}.jaha-chat-resolution-question{font-size:14px;font-weight:700;line-height:1.55;margin-bottom:10px}.jaha-chat-resolution-actions{display:flex;gap:8px}.jaha-chat-resolution-actions button{appearance:none;-webkit-appearance:none;border:1px solid #d9829e;border-radius:999px;background:#fff;color:#c65b82;font-size:14px;font-weight:700;min-width:82px;padding:9px 16px;cursor:pointer}.jaha-chat-resolution-actions button:hover,.jaha-chat-resolution-actions button:focus-visible{background:#fff0f5}.jaha-chat-resolution-actions button.selected{background:#d9829e;color:#fff}.jaha-chat-resolution-actions button:disabled{cursor:default;opacity:.75}.jaha-chat-resolution-contact{margin-top:12px;padding-top:12px;border-top:1px solid #efd5de}.jaha-chat-resolution-contact[hidden]{display:none!important}.jaha-chat-resolution-contact p{margin:0 0 10px;font-size:13px;line-height:1.6;color:#555}.jaha-chat-resolution-links{display:flex;flex-wrap:wrap;gap:8px}.jaha-chat-resolution-links a{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:0 15px;border-radius:999px;text-decoration:none!important;font-size:13px;font-weight:700}.jaha-chat-resolution-links a:first-child{background:#d9829e;color:#fff!important}.jaha-chat-resolution-links a:last-child{background:#67b94b;color:#fff!important}

.jaha-chat-material-choices{max-width:94%;display:grid;grid-template-columns:1fr;gap:8px;margin:-2px 0 16px;padding:0;box-sizing:border-box}.jaha-chat-material-choices button{appearance:none;-webkit-appearance:none;width:100%;min-height:42px;padding:9px 12px;border:1px solid #d9829e;border-radius:12px;background:#fff;color:#b84e72;font-size:13px;font-weight:700;line-height:1.45;text-align:left;cursor:pointer}.jaha-chat-material-choices button:hover,.jaha-chat-material-choices button:focus-visible{background:#fff2f6;outline:none}.jaha-chat-material-choices button:disabled{cursor:default;opacity:.6}

.jaha-chat-error{min-height:0;color:#c62828;font-size:13px;padding:0 14px}.jaha-chat-error:not(:empty){padding-top:9px;padding-bottom:9px;border-top:1px solid #eee}
.jaha-chat-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;padding:12px;border-top:1px solid #eee;background:#fff}.jaha-chat-form textarea{box-sizing:border-box;width:100%;resize:none;border:1px solid #ddd;border-radius:14px;padding:11px 12px;font:inherit;font-size:16px;line-height:1.5;min-height:48px;max-height:120px}.jaha-chat-form button{border:0;border-radius:14px;padding:0 17px;background:#d9829e;color:white;font-weight:700;font-size:15px;cursor:pointer;min-width:64px;min-height:48px}.jaha-chat-form button:disabled{opacity:.55}
html.jaha-chat-open,body.jaha-chat-open{overflow:hidden!important;overscroll-behavior:none!important}

@media(max-width:600px){
  /* スマホ：右端の縦タブ。下部固定CTAとは別レーンにして重なりを避ける。 */
  .jaha-chat-launcher{
    right:0!important;
    left:auto!important;
    top:65%!important;
    bottom:auto!important;
    transform:translateY(-50%)!important;
    width:50px!important;
    min-width:50px!important;
    max-width:50px!important;
    height:164px!important;
    padding:12px 0!important;
    border-radius:16px 0 0 16px!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    gap:7px!important;
    background:#d9829e!important;
    color:#fff!important;
    box-shadow:0 5px 18px rgba(0,0,0,.22)!important;
    white-space:normal!important;
  }
  .jaha-chat-launcher-label{
    display:block!important;
    color:#fff!important;
    font-size:14px!important;
    font-weight:700!important;
    line-height:1.2!important;
    letter-spacing:.05em!important;
    writing-mode:vertical-rl!important;
    text-orientation:upright!important;
    white-space:nowrap!important;
  }
  .jaha-chat-launcher-icon{
    display:block!important;
    margin:0!important;
    font-size:18px!important;
    line-height:1!important;
  }
  .jaha-chat-panel{left:0!important;right:auto!important;bottom:auto!important;top:var(--jaha-chat-vv-top,0px);width:100vw;max-width:none;height:var(--jaha-chat-vv-height,100dvh);max-height:none;border-radius:0;grid-template-rows:auto minmax(0,1fr) auto auto}
  .jaha-chat-header{height:calc(58px + env(safe-area-inset-top))!important;min-height:calc(58px + env(safe-area-inset-top))!important;padding:env(safe-area-inset-top) 14px 0 16px!important;font-size:16px!important}
  .jaha-chat-messages{padding:20px 14px 12px!important}
  .jaha-chat-bubble{max-width:88%;font-size:14px;line-height:1.65}
  .jaha-chat-resolution{max-width:94%;margin-bottom:14px;padding:12px}
  .jaha-chat-resolution-actions button{min-width:76px;padding:9px 14px}
  .jaha-chat-form{gap:8px;padding:10px 10px calc(10px + env(safe-area-inset-bottom));align-items:end}
  .jaha-chat-form textarea{font-size:16px;min-height:48px;max-height:104px}
  .jaha-chat-form button{padding:0 14px;font-size:15px;min-width:62px}
}

/* M30: optional question categories */
.jaha-chat-categories{grid-column:1/-1;min-width:0;margin:0;padding:0;border:0}.jaha-chat-categories legend{display:block;width:100%;margin:0 0 4px;padding:0;color:#333;font-size:13px;font-weight:700;line-height:1.35}.jaha-chat-categories legend span{color:#777;font-size:11px;font-weight:500}.jaha-chat-category-note{margin:0 0 7px;color:#777;font-size:11px;line-height:1.45}.jaha-chat-category-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.jaha-chat-category-option{position:relative;display:block;min-width:0;margin:0!important;padding:0!important;cursor:pointer}.jaha-chat-category-option input{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important}.jaha-chat-category-option span{box-sizing:border-box;display:flex!important;align-items:center;min-height:36px;padding:7px 9px;border:1px solid #e5c4cf;border-radius:10px;background:#fff;color:#7d4d5d!important;font-size:12px!important;font-weight:700!important;line-height:1.35!important;word-break:break-word}.jaha-chat-category-option span::before{content:'✓';display:inline-flex;flex:0 0 auto;align-items:center;justify-content:center;width:17px;height:17px;margin-right:6px;border:1px solid #d8a8b8;border-radius:5px;background:#fff;color:transparent;font-size:11px;line-height:1}.jaha-chat-category-option input:checked + span{border-color:#d9829e;background:#fff3f7;color:#a94669!important}.jaha-chat-category-option input:checked + span::before{border-color:#d9829e;background:#d9829e;color:#fff}.jaha-chat-category-option input:focus-visible + span{outline:2px solid #d9829e;outline-offset:2px}.jaha-chat-category-option input:disabled + span{cursor:default;opacity:.6}
@media(max-width:600px){.jaha-chat-category-note{font-size:10.5px}.jaha-chat-category-option span{min-height:34px;padding:6px 8px;font-size:11.5px!important}.jaha-chat-category-options{gap:5px}}

.jaha-chat-direct-contact .jaha-chat-resolution-contact{margin-top:0;padding-top:0;border-top:0}
