@charset "utf-8";
@font-face {
  font-family: 'icomoon';
  src:  url('fonts/icomoon.eot?ovapfk');
  src:  url('fonts/icomoon.eot?ovapfk#iefix') format('embedded-opentype'),
    url('fonts/icomoon.ttf?ovapfk') format('truetype'),
    url('fonts/icomoon.woff?ovapfk') format('woff'),
    url('fonts/icomoon.svg?ovapfk#icomoon') format('svg');
  font-weight: normal;
  font-style: normal;
  font-display: block;
}

[class^="icon-"], [class*=" icon-"] {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: 'icomoon' !important;
  speak: never;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;

  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-mail-envelope-closed:before {
  content: "\e900";
  font-size: 5.25vw;
  margin-right: 1vw;
}

/*共通*/
#uchino_ai_bot .d_shadow {
  box-shadow: 0 0 6px rgba(0, 0, 0, 0.2);
}
#uchino_ai_bot img {
  width: 100%;
  height: auto;
  vertical-align: top;
}
#uchino_ai_bot p {
  font-size: 3.75vw;
  line-height: 1.6;
}

/*◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆
ボタン
◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆*/

.WSP .uchino_ai_button {
  bottom: 28vw;
}

/* 大枠 */
.uchino_ai_button {
  position: fixed;
  display: flex;
  margin: 0 auto;
  flex-wrap: wrap;
  background-color: #f05b5b;
  cursor: pointer;
  z-index: 99999;
  left: 0;
  right: 0;
  bottom: 18vw;
  padding: 1vw 0 1vw 1vw;
  /* transform: translateX(-50%) translateY(-9.375vw); */
  width: 87vw;
  border-radius: 9.25vw;
  height: 16vw;
}
/* アイコン画像を囲う枠
  ===============================*/
.uchinoai_imgbox {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 14vw;
  height: 14vw;
  padding: 0;
  margin-right: 13vw;
  border-radius: 50%;
  background-color: #fff;
}

.uchinoai_imgbox img {
  border-radius: 50%;
}

/* ボタンのテキスト
===============================*/
.uchinoai_text {
  display: flex;
  justify-content: center;
  align-items: center;
  width: auto;
  height: 100%;
  color: #fff;
  font-size: 4.75vw;
  text-align: center;
}

/* ボタン右側のAI枠
===============================*/
.uchinoai_r {
  position: absolute;
  right: -1.5vw;
  bottom: 0;
  width: 18vw;
  height: 18vw;
  border-radius: 50%;
  background-color: #fff;
}

/* AI右上の1 */
.uchinoai_r .ai_number {
  position: absolute;
  right: 0;
  top: -1vw;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 5vw;
  height: 5vw;
  color: #fff;
  font-size: 3.125vw;
  font-weight: bold;
  border-radius: 50%;
  background-color: #f05b5b;
}

/* AI文字 */
.uchinoai_r .ai_logo {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100%;
  width: 100%;
  margin: -1vw;
  font-style: italic;
  font-size: 8.625vw;
  font-weight: bold;
  background: -webkit-linear-gradient(-45deg, #199d90 0%, #3dbdd3 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

/* ボタンここまで */

/*◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆
入力フォーム
◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆*/
/* フォーム大枠
===============================*/
#uchino_ai_stream {
  position: fixed;
  animation: appear 0.5s ease;
  bottom: 0;
  right: 0;
  width: 100%;
  padding: 0 3.75vw 6.75vw;
  box-shadow: -4px 3px 6px #00000010;
  opacity: 1;
  background-color: #f4f6fb;
  /* backdrop-filter: blur(5000px);
  -webkit-backdrop-filter: blur(5000px); */
  border-top: 0.625vw solid #f05b5b;
  /* border-image: linear-gradient(to right, #199d90 0%, #3dbdd3 100%); */
  border-image-slice: 1;
  z-index: 9000;
}
@keyframes appear {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
/* backdrop-filter 非対応ブラウザ用 */
/* @supports not (
  (-webkit-backdrop-filter: blur(5000px)) or (backdrop-filter: blur(5000px))
) {
  .backdrop {
    background: rgba(100, 148, 185, 0.9);
  }
} */
/* フォームインナー
===============================*/
.uchinoai_inner {
  width: 100%;
  height: auto;
  margin: 0 auto;
}
/* フォーム上のAI */
.top_ai {
  position: absolute;
  top: -13vw;
  left: 50%;
  transform: translateX(-50%);
  margin: 0 auto;
  display: flex;
  width: 25.625vw;
  height: 25.625vw;
  border-radius: 50%;
  background-color: #fff;
}

.top_ai span {
  width: 100%;
  height: 100%;
  margin-right: 1vw;
  margin-top: 1vw;
  font-style: italic;
  font-weight: bold;
  text-align: center;
  font-size: 13.75vw;
  background: -webkit-linear-gradient(-45deg, #199d90 0%, #3dbdd3 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

/* フォーム右上の✖ */
#x_botton {
  float: right;
}
#x_botton p {
  font-size: 4vw;
  font-weight: bold;
  margin-top: 5vw;
  background: -webkit-linear-gradient(-45deg, #199d90 0%, #3dbdd3 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  cursor: pointer;
}

/* フォーム上文言 */
.top_text_box {
  height: auto;
  width: 100%;
  margin: 20.625vw 0 7.5vw;
  text-align: center;
  color: #404040;
  /* background: -webkit-linear-gradient(-45deg, #199d90 0%, #3dbdd3 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent; */
}
/* フォーム上文言　一行目 */
.top_text_box .first_tx {
  font-size: 5.325vw;
  font-weight: bold;
}
/* フォーム上文言 二行目*/
.top_text_box .second_tx {
  font-size: 3.75vw;
}

/* フォーム中枠
===============================*/
#uchino_ai_wrap {
  position: relative;
  width: 100%;
  height: 56vh;
  overflow: hidden;
  padding: 0 0 10vw;
  margin: 0 auto;
  border-radius: 3.75vw;
  background: #fff;
}
/*マスク*/
#uchino_ai_wrap .mask {
  position: absolute;
  top: 0;
  left: 3vw;
  width: 93%;
  height: 3vw;
  background: rgb(255, 255, 255);
  background: linear-gradient(
    180deg,
    rgba(255, 255, 255, 1) 35%,
    rgba(255, 255, 255, 0) 100%
  );
  z-index: 10;
}
#uchino_ai_wrap .cont {
  width: 100%;
  height: 100%;
  margin: 0 auto;
  overflow: scroll;
  padding: 9.5vw 3.75vw;
  /*スクロールバー非表示（IE・Edge）*/
  -ms-overflow-style: none !important;
  /*スクロールバー非表示（Firefox）*/
  scrollbar-width: none !important;
}
/*スクロールバー非表示（Chrome・Safari）*/
#uchino_ai_wrap .cont::-webkit-scrollbar {
  display: none !important;
}

/* フォーム中枠に最初に表示されているもの
===============================*/
.first_messege {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  margin: 0 auto 7.5vw;
}
/* 最初に表示されているものの左側の画像 */
.ct_uchinoai_imgbox {
  float: left;
  width: 9.5vw;
  height: 9.5vw;
  overflow: hidden;
  padding: 0;
  margin-right: 3.75vw;
  border-radius: 50%;
  background-color: #fff;
  border: 1px solid #dedede;
}

.ct_uchinoai_imgbox img {
  border-radius: 50%;
}
/* 最初に表示されているものの右側のテキスト */
.r_messege {
  width: calc(100% - 13.25vw - 5.625vw);
  padding: 3.75vw 4.375vw;
  box-sizing: border-box;
  border: 1px solid #dedede;
  border-radius: 0px 2vw 2vw 2vw;
  box-shadow: 0 0 4px rgba(0, 0, 0, 0.1);
  word-break: break-all;
}

/*===============================
  チャット
  ===============================*/
.chat_message {
  width: 100%;
  overflow: hidden;
  margin: 0 auto;
}
/*ユーザーメッセージ
  ===============================*/
.chat_question {
  width: calc(100% - 13.75vw);
  border-radius: 1.875vw 0px 1.875vw 1.875vw;
  background: linear-gradient(-45deg, #3dbdd3 0%, #199d90 100%);
  margin: 0 0 7.5vw auto;
}

.chat_question p {
  font-size: 4.0625vw;
  color: #fff;
  line-height: 1.5;
  padding: 2.5vw 6.56vw 2.5vw 3.125vw;
}

/*ボットメッセージ
===============================*/
.bot_message {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  margin-bottom: 7.5vw;
}
/*アイコン*/
.l_uchinoai_imgbox {
  width: 9.5vw;
  height: 9.5vw;
  padding: 0;
  border-radius: 50%;
  background-color: #fff;
  margin-right: 3.75vw;
  border: 1px solid #dedede;
}
.l_uchinoai_imgbox img {
  width: 100%;
  height: auto;
  border-radius: 50%;
}
/*ボット回答*/
.r_box {
  min-width: 10vw;
  max-width: calc(100% - 13.25vw - 5.625vw);
  padding: 3.75vw 4.375vw;
  font-size: 3.75vw;
  line-height: 1.6;
  box-sizing: border-box;
  border: 1px solid #dedede;
  border-radius: 0px 2vw 2vw 2vw;
  box-shadow: 0 0 4px rgba(0, 0, 0, 0.1);
  word-break: break-all;
}
.r_box .bot-ancer {
  margin: 0 0 1.875vw;
}

.bot-ancer h1,
.bot-ancer h2,
.bot-ancer h3,
.bot-ancer h4,
.bot-ancer h5,
.bot-ancer h6 {
  font-size: 3.75vw;
}

.bot-ancer ul,
.bot-ancer ol {
    padding-left: 5vw;
    margin: 3.75vw 0;
    font-size: 3.75vw;
  }

  .bot-ancer ul li {
    font-size: 3.75vw;
  }

  .bot-ancer ul li::marker {
    font-size: 3.75vw;
  }

  .bot-ancer ol li {
    font-size: 3.75vw;
  }

  .bot-ancer ol li::marker {
    font-size: 3.75vw;
  }

/*bot_summary
===============================*/
.bot_summary {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  align-items: center;
  margin: 0 0 1.875vw;
}
/*情報源*/
.bot_summary .source_information {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 16vw;
  height: 6vw;
  font-size: 3vw;
  font-weight: bold;
  line-height: 1;
  color: #fff;
  cursor: pointer;
  border-radius: 1.25vw;
  background-color: #4aa59a;
}
.bot_summary .source_information::after {
  content: "^";
  transform: rotate(180deg);
  font-size: 4vw;
  font-weight: bold;
  color: #fff;
  margin-left: 1.25vw;
  margin-bottom: 0.625vw;
}

.bot_summary .uchinoai_active::after {
  content: "^";
  transform: none;
  font-size: 4vw;
  font-weight: bold;
  color: #fff;
  margin-left: 1.25vw;
  margin-bottom: -0.625vw;
}

/*評価アイコンを囲うもの*/
.evaluation {
  width: fit-content;
  display: flex;
  align-items: center;
}
/*評価アイコン*/
.uchinoai_good,
.uchinoai_bad {
  cursor: pointer;
  width: 5vw;
  display: flex;
  align-items: center;
}

.uchinoai_good {
  margin-right: 1.25vw;
}

/*ローディング*/
.uchinoai_loading {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 3.75vw;
  font-weight: bold;
}

.uchinoai_loading span {
  display: inline-block;
  margin: 0 0.325vw;
  animation: loadingAnimation 1s infinite;
}

@keyframes loadingAnimation {
  0% {
    opacity: 0.2;
  }
  20% {
    opacity: 1;
  }
  100% {
    opacity: 0.2;
  }
}

/*情報源リスト*/
.r_box .bot_summary_list {
  list-style: none;
  margin: 0;
  padding: 2.18vw;
  background-color: #f5f5f5;
}
.r_box .bot_summary_list li {
  font-size: 3vw;
  margin: 0 0 3.75vw;
}
.r_box .bot_summary_list li::before {
  content: url(https://jetcms.owners-site.net/jetb/wp-content/themes/Jet-CMS-child/img/uchinoimg/link.png);
  margin-right: 0.625vw;
}

.r_box .bot_summary_list li:last-child {
  margin: 0;
}
.r_box .bot_summary_list li a {
  display: block;
  color: blue;
}

.r_box .bot_summary_list li .nt_block {
  display: unset;
}

.r_box a {
  /* display: block; */
  color: blue;
}

/*メッセージを送信
===============================*/
.uchino_ai_form {
  position: absolute;
  bottom: 5vw;
  width: 100%;
  z-index: 10;
}
.uchino_input input:focus-visible {
  border: 1px solid #f05b5b !important;
}
.input-wrapper {
  position: relative;
  width: 86vw;
  margin: 0 auto;
  display: flex;
  align-items: center;
}
/*入力欄*/
#questionInput {
  width: 100%;
  height: 12.5vw;
  padding: 0 12vw 0 5vw;
  font-size: 3.75vw;
  border-radius: 6.25vw;
  border: 1px solid #f05b5b;
  box-sizing: border-box;
  font-size: max(1.6rem, 16px);
}
#questionInput:focus-visible {
  border-color: #f05b5b !important;
}
#questionInput:focus {
  border-color: #f05b5b !important;
}
/*送信ボタン*/
.submit-button {
  position: absolute;
  top: 0;
  right: 4vw;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 8.5vw;
  height: 100%;
  cursor: pointer;
  line-height: 1;
}

.send_img {
  width: 6vw;
  margin: 0 auto;
  justify-content: center;
  align-items: center;
  display: flex;
}

.ion-ios-paperplane {
  font-size: 8vw;
  color: rgb(233, 30, 99);
}
.uchinoai_button {
  display: none;
}

.uchino_bland {
  font-size: 3.25vw;
  float: right;
  margin: 3vw 4.25vw 0 0;
  font-weight: bold;
}

.uchino_bland a {
  text-decoration: none;
  color: #0070c0;;
}

.support_contact {
  background-color: rgba(217, 235, 244, 1);
  margin: 3vw 6vw auto auto;
  display: inline-block;
  overflow: hidden;
  padding: 2vw 3vw;
  /* box-shadow: 2px 3px 5px rgba(0, 0, 0, 0.4); */
  border-radius: 26px;
  opacity: 0;
  transition: opacity 1s ease-in-out; /* 0.5秒かけてフェードイン、イージングはイーズインアウト */
  display: none;
  color: black;
  cursor: pointer;
}

.support_contact a {
  font-size: 3vw;
  text-decoration: none;
  color: black;
  letter-spacing: initial;
  /* color: blue; */
}

@media only screen and (min-width: 641px) {
  /*◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆
ドックスボット
◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆*/
  /*リセット*/
  #uchino_ai_bot {
  }

  /*共通*/
  #uchino_ai_bot .d_shadow {
    box-shadow: 0 0 6px rgba(0, 0, 0, 0.2);
  }
  #uchino_ai_bot img {
    width: 100%;
    height: auto;
  }
  #uchino_ai_bot p {
    font-size: 14px;
    line-height: 1.6;
  }

  /*◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆
ボタン
◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆*/
  /* 大枠 */
  .uchino_ai_button {
    bottom: 32px;
    right: 110px;
    left: auto;
    width: 304px;
    height: 74px;
    padding: 9px 14px;
    border-radius: 37px;
  }
  /* アイコン画像を囲う枠
===============================*/
  .uchinoai_imgbox {
    width: 56px;
    height: 56px;
    padding: 0;
    margin-right: 28px;
    border-radius: 50%;
  }
  /* ボタンのテキスト
===============================*/
  .uchinoai_text {
    font-size: 18px;
  }
  /* ボタン右側のAI枠
===============================*/
  .uchinoai_r {
    right: -20px;
    width: 82px;
    height: 82px;
  }
  /* AI右上の1 */
  .uchinoai_r .ai_number {
    top: -6px;
    display: flex;
    width: 24px;
    height: 24px;
    font-size: 12px;
  }
  /* AI文字 */
  .uchinoai_r .ai_logo {
    margin: -3px;
    font-size: 40px;
  }

  /* ボタンここまで */

  /*◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆
入力フォーム
◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆*/
  /* フォーム大枠
===============================*/
  #uchino_ai_stream {
    bottom: 42px;
    right: 110px;
    width: 452px;
    padding: 0 20px 15px;
    box-shadow: -4px 3px 6px #00000010;
    border-top: 4px solid #f05b5b;
  }

  /* フォーム上のAI */
  .top_ai {
    top: -26px;
    width: 52px;
    height: 52px;
  }

  .top_ai span {
    margin-right: 3px;
    margin-top: 0;
    font-size: 30px;
  }

  #x_botton p {
    font-size: 16px;
    margin-top: 15px;
  }

  /* フォーム上文言 */
  .top_text_box {
    height: auto;
    width: 100%;
    margin: 48px 0 25px;
    text-align: center;
    /* background: -webkit-linear-gradient(-45deg, #199d90 0%, #3dbdd3 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent; */
  }
  /* フォーム上文言　一行目 */
  .top_text_box .first_tx {
    font-size: 16px !important;
  }
  /* フォーム上文言 二行目*/
  .top_text_box .second_tx {
    font-size: 12px !important;
  }

  /* フォーム中枠
===============================*/
  #uchino_ai_wrap {
    max-height: 610px;
    padding: 0 0 64px;
    border-radius: 10px;
  }
  /*マスク*/
  #uchino_ai_wrap .mask {
    left: 0;
    width: 100%;
    height: 19px;
  }
  #uchino_ai_wrap .cont {
    padding: 19px 16px;
  }

  /* フォーム中枠に最初に表示されているもの
===============================*/
  .first_messege {
    margin: 0 auto 24px;
  }
  /* 最初に表示されているものの左側の画像 */
  .ct_uchinoai_imgbox {
    width: 40px;
    height: 40px;
    padding: 0;
    margin-right: 16px;
  }
  /* 最初に表示されているものの右側のテキスト */
  .r_messege {
    width: calc(100% - 56px - 10px);
    padding: 12px 16px;
    border-radius: 0px 10px 10px 10px;
    box-shadow: 0 0 4px rgba(0, 0, 0, 0.1);
  }

  /*ユーザーメッセージ
===============================*/
  .chat_question {
    width: calc(100% - 88px);
    border-radius: 10px 0px 10px 10px;
    margin: 0 0 24px auto;
  }

  .chat_question p {
    padding: 14px 30px 14px 22px;
  }

  /*ボットメッセージ
===============================*/
  .bot_message {
    margin-bottom: 24px;
  }
  /*アイコン*/
  .l_uchinoai_imgbox {
    width: 40px;
    height: 40px;
    /* padding: 4px; */
    margin-right: 16px;
  }
  /*ボット回答*/
  .r_box {
    min-width: 70px;
    max-width: calc(100% - 56px - 10px);
    padding: 12px 16px;
    font-size: 14px;
    border-radius: 0px 10px 10px 10px;
  }
  .r_box .bot-ancer {
    margin: 0 0 12px;
  }

  .bot-ancer h1,
  .bot-ancer h2,
  .bot-ancer h3,
  .bot-ancer h4,
  .bot-ancer h5,
  .bot-ancer h6 {
    font-size: 14px;
  }

  .bot-ancer ul,
  .bot-ancer ol {
    padding-left: 20px;
    margin: 8px 0;
    font-size: 14px;
  }

  .bot-ancer ul li::marker {
    font-size: 14px;
  }

  .bot-ancer ul li {
    font-size: 14px;
  }
  .bot-ancer ol li::marker {
    font-size: 14px;
  }

  .bot-ancer ol li {
    font-size: 14px;
  }
  /*bot_summary
===============================*/
  .bot_summary {
    margin: 0 0 12px;
  }
  /*情報源*/
  .bot_summary .source_information {
    width: 64px;
    height: 24px;
    font-size: 12px;
    border-radius: 8px;
  }
  .bot_summary .source_information::after {
    font-size: 16px;
    margin-left: 8px;
    margin-bottom: 4px;
  }

  .bot_summary .uchinoai_active::after {
    font-size: 16px;
    margin-left: 8px;
    margin-bottom: -4px;
  }

  /*評価アイコン*/

  .uchinoai_good,
  .uchinoai_bad {
    width: 20px;
    cursor: pointer;
  }

  .uchinoai_good {
    margin-right: 8px;
  }

  /*ローディング*/
  .uchinoai_loading {
    height: 24px;
  }

  .uchinoai_loading span {
    margin: 0 2px;
  }

  /*情報源リスト*/
  .r_box .bot_summary_list {
    padding: 14px;
  }
  .r_box .bot_summary_list li {
    font-size: 12px;
    margin: 0 0 24px;
  }
  .r_box .bot_summary_list li::before {
    margin-right: 4px;
  }

  /*メッセージを送信
===============================*/
  .uchino_ai_form {
    bottom: 16px;
  }
  .input-wrapper {
    width: 382px;
  }
  /*入力欄*/
  #questionInput {
    height: 38px;
    padding: 0 48px 0 20px;
    font-size: 12px;
    border-radius: 19px;
  }
  /*送信ボタン*/
  .submit-button {
    right: 10px;
    width: 38px;
  }

  .send_img {
    width: 20px;
  }
  .ion-ios-paperplane {
    font-size: 30px;
  }

  .uchino_bland {
    font-size: 10px;
    margin: 8px 16px 0 0;
  }

  .support_contact {
    margin: 12px 8px auto auto;
    padding: 8px 16px;
  }

  .support_contact a {
    font-size: 12px;
  }

  .icon-mail-envelope-closed:before {
    font-size: 20px;
    margin-right: 4px;
  }
}
