@charset "utf-8";
/*
Author: LIQUID DESIGN Ltd.
Author URI: https://lqd.jp/wp/
*/

/* ------------------------------------
// common
------------------------------------ */

.liquid_connect {
    line-height: 1.2;
    font-size: medium;
}
.liquid_connect_content_ttl {
    font-size: medium;
    font-weight: bold;
    margin-bottom: .5rem;
    color: #333 !important;
}
.liquid_connect_content_link {
    display: block;
    background-color: transparent !important;
    text-decoration: none !important;
    box-shadow: initial !important;
}
.liquid_connect_content_img {
    display: block;
    width: 100%;
    height: auto;
}
.liquid_connect_content_img:hover {
    opacity: 0.9;
}
.liquid_connect_content_txt {
    margin-top: .5rem;
    border: 1px solid #eee;
    text-align: center;
    padding: .5rem;
    border-radius: 3px;
}
.liquid_connect_content_copy {
    display: none;
    text-decoration: none !important;
    box-shadow: initial !important;
}

.liquid_connect[class*="liquid_connect_modal"] {
    display: none;
    max-width: 380px;
    position: fixed;
    bottom: 0;
    z-index: 9999;
    background-color: #fff !important;
    color: #333 !important;
    border: 1px solid #ddd;
    box-shadow: 0 0 4px 2px #ddd;
    -moz-box-shadow: 0 0 4px 2px #ddd;
    -webkit-box-shadow: 0 0 4px 2px #ddd;
}
.liquid_connect[class*="liquid_connect_modal"] .liquid_connect_inner {
    padding: 10px;
}
.liquid_connect[class*="liquid_connect_modal"] .liquid_connect_content_copy {
    display: block;
    font-size: x-small;
    color: #aaa !important;
    text-align: right;
    background-color: transparent !important;
}

.liquid_connect.liquid_connect_modal_left {
    left: 10px;
}
.liquid_connect.liquid_connect_modal_right {
    right: 10px;
}
.liquid_connect.liquid_connect_modal_center {
    left: 0;
    right: 0;
    margin: auto;
}
.liquid_connect.liquid_connect_modal_top_left {
    top: 10px;
    bottom: auto;
    left: 10px;
}
.liquid_connect.liquid_connect_modal_top_center {
    top: 10px;
    bottom: auto;
    left: 0;
    right: 0;
    margin: auto;
}
.liquid_connect.liquid_connect_modal_top_right {
    top: 10px;
    bottom: auto;
    right: 10px;
}
.liquid_connect.liquid_connect_modal_middle_left {
    top: 50%;
    bottom: auto;
    transform: translateY(-50%);
    left: 10px;
}
.liquid_connect.liquid_connect_modal_middle_center {
    top: 50%;
    bottom: auto;
    transform: translateY(-50%);
    left: 0;
    right: 0;
    margin: auto;
}
.liquid_connect.liquid_connect_modal_middle_right {
    top: 50%;
    bottom: auto;
    transform: translateY(-50%);
    right: 10px;
}

.liquid_connect_close {
    display: block;
    position: absolute;
    z-index: 9999;
    cursor: pointer;
    top: 10px;
    right: 10px;
    font-size: 16px;
    line-height: 1;
    border: 1px solid #ddd;
    background-color: #fff;
    color: #333;
    height: 20px;
    width: 20px;
    text-align: center;
    opacity: 0.8;
}

@media (max-width: 47.9em) {
    .liquid_connect.liquid_connect_modal_left,
    .liquid_connect.liquid_connect_modal_top_left,
    .liquid_connect.liquid_connect_modal_middle_left {
        left: 0;
    }
    .liquid_connect.liquid_connect_modal_right,
    .liquid_connect.liquid_connect_modal_top_right,
    .liquid_connect.liquid_connect_modal_middle_right {
        right: 0;
    }
}

/* ------------------------------------
// chatbot
------------------------------------ */
.lp_chatbot {
    position: fixed;
    bottom: 6rem;
    right: 1rem;
    z-index: 9999;
    line-height: 1.4;
    font-size: medium;
}
.lp_chatbot.liquid_connect_modal_left { left: 10px; right: auto; }
.lp_chatbot.liquid_connect_modal_center { left: 50%; right: auto; transform: translateX(-50%); }
.lp_chatbot.liquid_connect_modal_top_left { top: 10px; bottom: auto; left: 10px; right: auto; }
.lp_chatbot.liquid_connect_modal_top_center { top: 10px; bottom: auto; left: 50%; right: auto; transform: translateX(-50%); }
.lp_chatbot.liquid_connect_modal_top_right { top: 10px; bottom: auto; }
.lp_chatbot.liquid_connect_modal_middle_left { top: 50%; bottom: auto; left: 10px; right: auto; transform: translateY(-50%); }
.lp_chatbot.liquid_connect_modal_middle_center { top: 50%; bottom: auto; left: 50%; right: auto; transform: translate(-50%, -50%); }
.lp_chatbot.liquid_connect_modal_middle_right { top: 50%; bottom: auto; transform: translateY(-50%); }

.lp_chatbot_toggle {
    width: 52px;
    height: 52px;
    border-radius: 50%;
    border: none;
    cursor: pointer;
    font-size: 24px;
    background-color: #745399;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.3);
    display: block;
    margin-left: auto;
}
.lp_chatbot_toggle img {
    width: 28px;
    height: 28px;
    display: block;
    margin: auto;
}
.lp_chatbot_panel {
    position: absolute;
    bottom: 60px;
    right: 0;
    width: 320px;
    max-width: 90vw;
    background-color: #fff;
    color: #333;
    border: 1px solid #ddd;
    border-radius: 8px;
    box-shadow: 0 0 8px rgba(0, 0, 0, 0.2);
    overflow: hidden;
}
.lp_chatbot[class*="_top_"] .lp_chatbot_panel {
    top: 60px;
    bottom: auto;
}
.lp_chatbot.liquid_connect_modal_left .lp_chatbot_panel,
.lp_chatbot.liquid_connect_modal_middle_left .lp_chatbot_panel,
.lp_chatbot.liquid_connect_modal_top_left .lp_chatbot_panel {
    left: 0;
    right: auto;
}
.lp_chatbot_messages {
    height: 300px;
    overflow-y: auto;
    padding: 12px;
}
.lp_chatbot_msg {
    margin-bottom: 8px;
    padding: 8px 12px;
    border-radius: 12px;
    max-width: 85%;
    word-break: break-word;
}
.lp_chatbot_msg--bot {
    background-color: #f0f0f1;
    margin-right: auto;
}
.lp_chatbot_msg--user {
    background-color: #745399;
    color: #fff;
    margin-left: auto;
}
.lp_chatbot_msg--bot a {
    display: block;
    margin: 4px 0;
    color: #745399;
    text-decoration: underline;
}
.lp_chatbot_input {
    display: flex;
    border-top: 1px solid #ddd;
}
.lp_chatbot_hp {
    position: absolute !important;
    left: -9999px !important;
    width: 1px;
    height: 1px;
    opacity: 0;
}
.lp_chatbot_input input {
    flex: 1;
    border: none;
    padding: 10px;
    outline: none;
    font-size: 16px;
}
.lp_chatbot_input button {
    border: none;
    background-color: #745399;
    color: #fff;
    padding: 0 16px;
    cursor: pointer;
}
.lp_chatbot .liquid_connect_content_copy {
    display: block;
    font-size: x-small;
    color: #aaa !important;
    text-align: right;
    background-color: transparent !important;
    padding: 4px 10px;
}
