/* MGK 静的サイト: page-layout。同じ表示設定を複数ページで共有します。 */
/* &#12497;&#12493;&#12523;&#34920;&#31034;&#20013;&#12399;reCAPTCHA v3&#12496;&#12483;&#12472;&#12434;&#38560;&#12377;&#65288;&#12514;&#12496;&#12452;&#12523;&#20840;&#30011;&#38754;&#12391;&#36865;&#20449;&#12508;&#12479;&#12531;&#12395;&#37325;&#12394;&#12427;&#12383;&#12417;&#65289;&#12290;
   Google&#12398;&#35215;&#32004;&#12395;&#24467;&#12356;&#12289;&#20195;&#26367;&#12398;&#24112;&#23646;&#34920;&#35352; .mgkcc-privacy &#12434;&#12497;&#12493;&#12523;&#20869;&#12408;&#24120;&#26178;&#34920;&#31034;&#12375;&#12390;&#12356;&#12427; */
body.mgkcc-badge-off .grecaptcha-badge {
  visibility: hidden !important;
}
#mgkcc-panel .mgkcc-privacy {
  flex: 0 0 auto;
  padding: 4px 12px 8px;
  background: #fff;
  font-size: 10px;
  line-height: 1.6;
  color: #8a93a3;
  text-align: center;
}
#mgkcc-panel .mgkcc-privacy a {
  color: #8a93a3;
  text-decoration: underline;
}
/* &#12377;&#12409;&#12390; #mgk-chat-contact&#65288;&#12521;&#12531;&#12481;&#12515;&#12540;&#65289;&#12392; #mgkcc-panel&#65288;&#12481;&#12515;&#12483;&#12488;&#12454;&#12451;&#12531;&#12489;&#12454;&#65289;&#37197;&#19979;&#12395;&#12473;&#12467;&#12540;&#12503;&#12290;
   &#12497;&#12493;&#12523;&#12399;&#31062;&#20808;&#12395; transform &#31561;&#12364;&#12354;&#12427;&#22580;&#21512;&#12395; body &#30452;&#19979;&#12408;&#36864;&#36991;&#12377;&#12427;&#12371;&#12392;&#12364;&#12354;&#12427;&#12383;&#12417;&#12289;ID&#21336;&#20301;&#12391;&#29420;&#31435;&#12375;&#12390;&#25104;&#31435;&#12373;&#12379;&#12427;&#12290; */
/* &#12450;&#12463;&#12475;&#12531;&#12488;&#33394;: &#20181;&#27096;&#12398; #7C5BFF &#12399;&#30333;&#25991;&#23383;&#12392;&#12398;&#12467;&#12531;&#12488;&#12521;&#12473;&#12488;&#12364; 4.377:1 &#12391;WCAG AA(4.5:1)&#26410;&#36948;&#12398;&#12383;&#12417;&#12289;
   &#21516;&#31995;&#33394;&#12391;&#12431;&#12378;&#12363;&#12395;&#28611;&#12356; #7250F0&#65288;&#23550;&#30333; 5.10:1&#65289;&#12434;&#25505;&#29992;&#12290;&#26528;&#32218;&#12539;&#22615;&#12426;&#12539;&#25991;&#23383;&#12377;&#12409;&#12390;&#12371;&#12398;1&#33394;&#12395;&#32113;&#19968;&#12377;&#12427;&#12290; */
#mgk-chat-contact,
#mgkcc-panel {
  font-size: 14px;
  line-height: 1.7;
  color: #1c1f26;
}
#mgk-chat-contact {
  margin: 24px 0;
  max-width: 100%;
}
#mgk-chat-contact *,
#mgkcc-panel * {
  box-sizing: border-box;
}
#mgk-chat-contact [hidden],
#mgkcc-panel [hidden],
#mgkcc-panel[hidden] {
  display: none !important;
}
#mgk-chat-contact button,
#mgkcc-panel button {
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
  -webkit-appearance: none;
  appearance: none;
  box-shadow: none;
}
#mgk-chat-contact .visually-hidden,
#mgkcc-panel .visually-hidden {
  position: absolute !important;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  border: 0;
  overflow: hidden;
  white-space: nowrap;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
}
/* &#36215;&#21205;&#12508;&#12479;&#12531;&#65288;&#12521;&#12531;&#12481;&#12515;&#12540;&#65289;: &#24133;&#12399;&#20869;&#23481;&#12501;&#12451;&#12483;&#12488;&#12539;&#12479;&#12483;&#12503;&#38936;&#22495;48px */
#mgk-chat-contact .mgkcc-launch {
  max-width: 100%;
}
#mgk-chat-contact .mgkcc-launch-btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  max-width: 100%;
  min-height: 48px;
  padding: 8px 20px 8px 16px;
  background: #7250f0;
  border: 0;
  border-radius: 999px;
  color: #fff;
  text-align: left;
  cursor: pointer;
  box-shadow: 0 2px 10px rgba(114, 80, 240, 0.26);
}
#mgk-chat-contact .mgkcc-launch-btn:hover {
  background: #5b3ed6;
}
#mgk-chat-contact .mgkcc-launch-btn:focus {
  outline: 2px solid #7250f0;
  outline-offset: 2px;
}
#mgk-chat-contact .mgkcc-launch-ico {
  flex: 0 0 auto;
  display: block;
  width: 22px;
  height: 22px;
}
#mgk-chat-contact .mgkcc-launch-ico svg {
  display: block;
  width: 22px;
  height: 22px;
}
#mgk-chat-contact .mgkcc-launch-txt {
  display: flex;
  flex-direction: column;
  min-width: 0;
}
#mgk-chat-contact .mgkcc-launch-main {
  font-size: 14px;
  font-weight: 700;
  line-height: 1.4;
  overflow-wrap: anywhere;
}
#mgk-chat-contact .mgkcc-launch-sub {
  font-size: 12px;
  line-height: 1.5;
  overflow-wrap: anywhere;
}
/* v3.1(f10): &#36865;&#20449;&#20013;&#12395;&#38281;&#12376;&#12383;&#12354;&#12392;&#32080;&#26524;&#12364;&#30906;&#23450;&#12375;&#12383;&#12392;&#12365;&#12398;&#26410;&#30906;&#35469;&#12496;&#12483;&#12472;&#12290;&#30333;&#22320;&#12395;&#32043;&#65288;&#23550;&#30333; 5.10:1&#65289; */
#mgk-chat-contact .mgkcc-launch-badge {
  flex: 0 0 auto;
  margin-left: 4px;
  padding: 3px 10px;
  background: #fff;
  border-radius: 999px;
  color: #5b3ed6;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.4;
  white-space: nowrap;
}
/* &#12501;&#12525;&#12540;&#12486;&#12451;&#12531;&#12464;&#12398;&#12481;&#12515;&#12483;&#12488;&#12454;&#12451;&#12531;&#12489;&#12454; */
#mgkcc-panel {
  position: fixed;
  right: 16px;
  bottom: 88px;
  z-index: 99999;
  width: 380px;
  max-width: calc(100vw - 32px);
  height: min(600px, 78vh);
  opacity: 0;
  transform: translateY(8px);
  transition:
    opacity 180ms ease,
    transform 180ms ease;
}
#mgkcc-panel.mgkcc-open {
  opacity: 1;
  transform: translateY(0);
}
#mgkcc-panel .mgkcc-card {
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  background: #fff;
  border: 1px solid #e4e1f2;
  border-radius: 16px;
  box-shadow: 0 16px 40px rgba(28, 31, 38, 0.28);
  overflow: hidden;
}
#mgkcc-panel .mgkcc-head {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 16px;
  background: #7250f0;
  color: #fff;
}
#mgkcc-panel .mgkcc-head-main {
  flex: 1 1 auto;
  min-width: 0;
}
#mgkcc-panel .mgkcc-head-title {
  font-size: 15px;
  font-weight: 700;
  line-height: 1.4;
}
#mgkcc-panel .mgkcc-head-sub {
  font-size: 12px;
  line-height: 1.5;
}
#mgkcc-panel .mgkcc-head-close {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  padding: 0;
  background: transparent;
  border: 0;
  border-radius: 50%;
  color: #fff;
  cursor: pointer;
}
#mgkcc-panel .mgkcc-head-close:hover {
  background: rgba(255, 255, 255, 0.18);
}
#mgkcc-panel .mgkcc-head-close[disabled] {
  opacity: 0.5;
  cursor: default;
}
#mgkcc-panel .mgkcc-head-close svg {
  display: block;
  width: 18px;
  height: 18px;
}
#mgkcc-panel .mgkcc-log {
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
  overscroll-behavior: contain;
  background: #f5f3fb;
  padding: 16px 14px 10px;
}
#mgkcc-panel .mgkcc-row {
  display: flex;
  align-items: flex-end;
  gap: 8px;
  margin: 0 0 12px;
}
#mgkcc-panel .mgkcc-row-user {
  justify-content: flex-end;
}
#mgkcc-panel .mgkcc-avatar {
  flex: 0 0 auto;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: #1c1f26;
  color: #fff;
  font-size: 12px;
  font-weight: 700;
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;
}
#mgkcc-panel .mgkcc-wrap {
  display: flex;
  align-items: flex-end;
  gap: 6px;
  max-width: 78%;
  min-width: 0;
}
#mgkcc-panel .mgkcc-row-user .mgkcc-wrap {
  flex-direction: row-reverse;
}
#mgkcc-panel .mgkcc-bubble {
  padding: 9px 13px;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}
#mgkcc-panel .mgkcc-bot {
  background: #fff;
  border-radius: 4px 14px 14px 14px;
  box-shadow: 0 1px 2px rgba(28, 31, 38, 0.06);
}
#mgkcc-panel .mgkcc-user {
  background: #7250f0;
  color: #fff;
  border-radius: 14px 4px 14px 14px;
}
#mgkcc-panel .mgkcc-bubble a {
  color: #5b3ed6;
  text-decoration: underline;
}
/* &#12479;&#12452;&#12512;&#12473;&#12479;&#12531;&#12503;: &#20181;&#27096;&#12398;UI&#31680;&#12399;10px&#12384;&#12364;&#12289;&#21516;&#12376;&#20181;&#27096;&#12398;&#12450;&#12463;&#12475;&#12471;&#12499;&#12522;&#12486;&#12451;&#31680;&#12300;&#34180;&#12464;&#12524;&#12540;&#25991;&#23383;&#12399;12px&#20197;&#19978;&#12301;&#12434;&#20778;&#20808;&#12375;&#12390;12px&#12392;&#12377;&#12427;&#65288;&#33394;&#12399;&#23550; #F5F3FB &#12391;&#32004;5.1:1&#65289; */
#mgkcc-panel .mgkcc-time {
  flex: 0 0 auto;
  padding-bottom: 2px;
  font-size: 12px;
  line-height: 1.4;
  color: #63667a;
}
#mgkcc-panel .mgkcc-sum {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 4px 10px;
  margin-top: 8px;
}
#mgkcc-panel .mgkcc-sum-k {
  font-size: 12px;
  color: #63667a;
  white-space: nowrap;
}
#mgkcc-panel .mgkcc-sum-v {
  overflow-wrap: anywhere;
}
#mgkcc-panel .mgkcc-dots {
  display: flex;
  align-items: center;
  gap: 5px;
  padding: 12px 14px;
  background: #fff;
  border-radius: 4px 14px 14px 14px;
  box-shadow: 0 1px 2px rgba(28, 31, 38, 0.06);
}
#mgkcc-panel .mgkcc-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #a9a3c4;
  animation: mgkccBounce 0.9s infinite ease-in-out;
}
#mgkcc-panel .mgkcc-dot:nth-child(2) {
  animation-delay: 0.15s;
}
#mgkcc-panel .mgkcc-dot:nth-child(3) {
  animation-delay: 0.3s;
}
@keyframes mgkccBounce {
  0%,
  80%,
  100% {
    transform: translateY(0);
    opacity: 0.55;
  }
  40% {
    transform: translateY(-4px);
    opacity: 1;
  }
}
#mgkcc-panel .mgkcc-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0 0 12px 36px;
}
#mgkcc-panel .mgkcc-chip {
  max-width: 100%;
  padding: 7px 14px;
  background: #fff;
  border: 1px solid #7250f0;
  border-radius: 999px;
  color: #7250f0;
  font-size: 13px;
  line-height: 1.5;
  text-align: left;
  overflow-wrap: anywhere;
  cursor: pointer;
}
#mgkcc-panel .mgkcc-chip:hover,
#mgkcc-panel .mgkcc-chip:focus {
  background: #7250f0;
  color: #fff;
}
#mgkcc-panel .mgkcc-bar {
  flex: 0 0 auto;
  display: flex;
  align-items: flex-end;
  gap: 8px;
  padding: 10px 12px;
  background: #fff;
  border-top: 1px solid #edeaf7;
}
#mgkcc-panel .mgkcc-input,
#mgkcc-panel .mgkcc-area {
  flex: 1 1 auto;
  min-width: 0;
  width: 100%;
  padding: 10px 14px;
  background: #fff;
  border: 1px solid #ddd8f0;
  color: #1c1f26;
  font-family: inherit;
  font-size: 14px;
  line-height: 1.5;
}
#mgkcc-panel .mgkcc-input {
  border-radius: 999px;
  height: 40px;
}
/* textarea&#12399;&#35079;&#25968;&#34892;&#26178;&#12395;999px&#12384;&#12392;&#35282;&#12395;&#25991;&#23383;&#12364;&#20055;&#12427;&#12383;&#12417;20px&#65288;&#35211;&#12383;&#30446;&#12398;&#30772;&#32187;&#22238;&#36991;&#65289; */
#mgkcc-panel .mgkcc-area {
  border-radius: 20px;
  resize: none;
  max-height: 96px;
  overflow-y: auto;
}
#mgkcc-panel .mgkcc-input:focus,
#mgkcc-panel .mgkcc-area:focus,
#mgkcc-panel .mgkcc-chip:focus,
#mgkcc-panel .mgkcc-send:focus,
#mgkcc-panel .mgkcc-head-close:focus {
  outline: 2px solid #fff;
  outline-offset: 1px;
}
#mgkcc-panel .mgkcc-input:focus,
#mgkcc-panel .mgkcc-area:focus,
#mgkcc-panel .mgkcc-chip:focus,
#mgkcc-panel .mgkcc-send:focus {
  outline-color: #7250f0;
}
#mgkcc-panel .mgkcc-send {
  flex: 0 0 auto;
  height: 40px;
  min-width: 64px;
  padding: 0 16px;
  background: #7250f0;
  border: 0;
  border-radius: 999px;
  color: #fff;
  font-size: 13px;
  font-weight: 700;
  cursor: pointer;
}
#mgkcc-panel .mgkcc-send[disabled] {
  background: #cfc9e6;
  cursor: default;
}
#mgkcc-panel .mgkcc-hint {
  flex: 0 0 auto;
  padding: 0 16px 10px;
  background: #fff;
  font-size: 12px;
  line-height: 1.5;
  color: #63667a;
}
@media (max-width: 640px) {
  #mgkcc-panel {
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    width: auto;
    max-width: none;
    height: auto;
    padding: env(safe-area-inset-top, 0px) env(safe-area-inset-right, 0px)
      env(safe-area-inset-bottom, 0px) env(safe-area-inset-left, 0px);
  }
  #mgkcc-panel .mgkcc-card {
    border: 0;
    border-radius: 0;
    box-shadow: none;
  }
  #mgkcc-panel .mgkcc-log {
    padding: 14px 10px 8px;
  }
  #mgkcc-panel .mgkcc-head {
    padding: 10px 12px;
  }
}
@media (prefers-reduced-motion: reduce) {
  #mgkcc-panel {
    transition: none;
  }
  #mgkcc-panel .mgkcc-dot {
    animation: none;
  }
}
