@charset "UTF-8";
.fr_ly_main {
  overflow: hidden;
  width: 100%;
  height: 100%;
}
.fr_modalWrap {
  position: fixed;
  top: 0;
  left: 0;
  font-size: 2.544vw;
  box-sizing: border-box;
}
.fr_modalWrap *,
.fr_modalWrap *::after,
.fr_modalWrap *::before {
  box-sizing: border-box;
}
.fr_voiceRecognition {
  width: 0;
  height: 0;
  opacity: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}
.fr_voiceRecognition .fr_modal_voiceRecognition {
  opacity: 0;
  transition: 0.3s;
}
.fr_voiceRecognition.active {
  width: 100vw;
  height: 100vh;
  opacity: 1;
}
.fr_voiceRecognition.active .fr_modal_voiceRecognition {
  opacity: 1;
  transition: 0.3s;
}
.fr_voiceRecognition .fr_modal_back {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  background: rgba(0, 0, 0, 0.46);
}
.fr_voiceRecognition .fr_modal_back.active {
  width: 100vw;
  height: 100vh;
}
.fr_voiceRecognition .fr_modal_voiceRecognition {
  height: 87vh;
  width: 78.7vw;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  border-radius: clamp(20px, 5.088vw, 34px);
  border: 1px solid #707070;
  background: #EFF4FC;
  box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.161);
}
.fr_voiceRecognition .fr_modal_voiceRecognition .fr_voiceRecognition-iconWrap {
  position: relative;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: clamp(96px, 24.4224vw, 163.2px);
  height: clamp(96px, 24.4224vw, 163.2px);
  border-radius: 50%;
}
.fr_voiceRecognition .fr_modal_voiceRecognition .fr_voiceRecognition-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  background: #1263AA;
  border-radius: 50%;
  width: clamp(75px, 19.08vw, 127.5px);
  height: clamp(75px, 19.08vw, 127.5px);
}
.fr_voiceRecognition .fr_modal_voiceRecognition .fr_voiceRecognition-icon img {
  filter: invert(0%);
  width: clamp(26.75px, 6.8052vw, 45.475px);
}
.fr_voiceRecognition .fr_modal_voiceRecognition .fr_voiceRecognition-iconRing {
  position: absolute;
  inset: 0;
  margin: auto;
  width: clamp(96px, 24.4224vw, 163.2px);
  height: clamp(96px, 24.4224vw, 163.2px);
  border-radius: 50%;
  border: clamp(1px, 0.2544vw, 1.7px) solid #1263AA;
  animation: 0.8s ease-in-out infinite speaking;
}
.fr_voiceRecognition .fr_modal_voiceRecognition .fr_voiceRecognition-status {
  font-size: clamp(15px, 3.816vw, 25.5px);
  font-weight: bold;
}
.fr_voiceRecognition .fr_modal_voiceRecognition .fr_voiceRecognition-status .fr_voiceRecognition-status_loading {
  display: none;
}
.fr_voiceRecognition .fr_modal_voiceRecognition .fr_voiceRecognition-inner {
  width: 86.5%;
  display: flex;
}
@media (orientation: portrait) {
  .fr_voiceRecognition .fr_modal_voiceRecognition .fr_voiceRecognition-inner {
    flex-direction: column;
  }
}
@media (orientation: landscape) {
  .fr_voiceRecognition .fr_modal_voiceRecognition .fr_voiceRecognition-inner {
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    gap: clamp(24px, 6.1056vw, 40.8px);
  }
}
.fr_voiceRecognition .fr_modal_voiceRecognition .fr_voiceRecognition-inner .fr_voiceRecognition-content {
  height: clamp(173px, 44.0112vw, 294.1px);
}
@media (orientation: landscape) {
  .fr_voiceRecognition .fr_modal_voiceRecognition .fr_voiceRecognition-inner .fr_voiceRecognition-content {
    flex-grow: 1;
  }
}
.fr_voiceRecognition .fr_modal_voiceRecognition .fr_voiceRecognition-inner .fr_voiceRecognition-content .fr_voiceRecognition-text {
  height: 100%;
  background: #fff;
  color: #252525;
  border: clamp(1px, 0.2544vw, 1.7px) solid #CBCBCB;
  border-radius: clamp(8px, 2.0352vw, 13.6px);
  padding: clamp(24px, 6.1056vw, 40.8px);
}
.fr_voiceRecognition .fr_modal_voiceRecognition .fr_voiceRecognition-inner .fr_voiceRecognition-content .fr_voiceRecognition-text p {
  margin: 0;
  line-height: 1;
  font-size: clamp(18px, 4.5792vw, 30.6px);
}
.fr_voiceRecognition .fr_modal_voiceRecognition .fr_voiceRecognition-inner .fr_voiceRecognition-content .fr_voiceRecognition-text p:nth-of-type(n+2) {
  margin-top: clamp(8px, 2.0352vw, 13.6px);
}
.fr_voiceRecognition .fr_modal_voiceRecognition .fr_voiceRecognition-inner .fr_voiceRecognition-content .fr_voiceRecognition-loading {
  width: 100%;
  display: none;
  text-align: center;
  margin-top: clamp(78px, 19.8432vw, 132.6px);
}
.fr_voiceRecognition .fr_modal_voiceRecognition .fr_voiceRecognition-inner .fr_voiceRecognition-content .fr_voiceRecognition-loading img {
  width: clamp(64px, 16.2816vw, 108.8px);
  height: clamp(64px, 16.2816vw, 108.8px);
  animation: 2s linear infinite loadingCircle;
}
.fr_voiceRecognition .fr_modal_voiceRecognition .fr_voiceRecognition-inner .fr_voiceRecognition-content .fr_voiceRecognition-loaded {
  display: none;
  height: 100%;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  font-size: clamp(18px, 4.5792vw, 30.6px);
  font-weight: bold;
}
.fr_voiceRecognition .fr_modal_voiceRecognition .fr_voiceRecognition-inner .fr_voiceRecognition-content .fr_voiceRecognition-loaded p {
  margin: 0;
  line-height: 1;
}
.fr_voiceRecognition .fr_modal_voiceRecognition .fr_voiceRecognition-inner .fr_voiceRecognition-content .fr_voiceRecognition-loaded p:nth-of-type(n+2) {
  margin-top: clamp(8px, 2.0352vw, 13.6px);
}
.fr_voiceRecognition .fr_modal_voiceRecognition .fr_voiceRecognition-inner .fr_voiceRecognition-butonWrap {
  margin-top: clamp(28px, 7.1232vw, 47.6px);
}
@media (orientation: landscape) {
  .fr_voiceRecognition .fr_modal_voiceRecognition .fr_voiceRecognition-inner .fr_voiceRecognition-butonWrap {
    margin-top: 0;
  }
}
.fr_voiceRecognition .fr_modal_voiceRecognition .fr_voiceRecognition-inner .fr_voiceRecognition-butonWrap a {
  width: clamp(162px, 41.2128vw, 275.4px);
  height: clamp(40px, 10.176vw, 68px);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: clamp(15px, 3.816vw, 25.5px);
  border-radius: clamp(26px, 6.6144vw, 44.2px);
  text-decoration: none;
  margin: auto;
}
.fr_voiceRecognition .fr_modal_voiceRecognition .fr_voiceRecognition-inner .fr_voiceRecognition-butonWrap .fr_voiceRecognition-ok {
  background: #1263AA;
  color: #ffffff;
}
.fr_voiceRecognition .fr_modal_voiceRecognition .fr_voiceRecognition-inner .fr_voiceRecognition-butonWrap .fr_voiceRecognition-again {
  margin-top: clamp(8px, 2.0352vw, 13.6px);
  background: #F0F0F0;
  color: #474747;
  border: 1px solid #CBCBCB;
}

@keyframes loadingCircle {
  0% {
    transform: rotate(0);
  }
  100% {
    transform: rotate(360deg);
  }
}
@keyframes speaking {
  0% {
    transform: scale(0.78);
  }
  5% {
    transform: scale(0.9);
  }
  10% {
    transform: scale(0.78);
  }
  50% {
    transform: scale(1);
  }
  65% {
    transform: scale(1);
  }
  100% {
    transform: scale(0.78);
  }
}
.fr_voiceRecognition-openButton {
  position: fixed;
  bottom: clamp(10px, 2.544vw, 17px);
  left: 50%;
  transform: translateX(-50%);
  z-index: 10;
}
.fr_voiceRecognition-openButton > a {
  display: flex;
  align-items: center;
  justify-content: center;
  background: #1263AA;
  border-radius: 50%;
  width: clamp(75px, 19.08vw, 127.5px);
  height: clamp(75px, 19.08vw, 127.5px);
}
.fr_voiceRecognition-openButton > a img {
  filter: invert(0%);
  width: clamp(26.75px, 6.8052vw, 45.475px);
}
.fr_voiceRecognition-openButton a.active {
  display: none;
}

.fr_voiceRecognition-closeButton {
  position: absolute;
  top: 0;
  right: 0;
}
.fr_voiceRecognition-closeButton img {
  filter: invert(100%) drop-shadow(1px 1px 1px rgba(0, 0, 0, 0.322));
  width: clamp(45px, 11.448vw, 76.5px);
  height: clamp(45px, 11.448vw, 76.5px);
}

/*表示切替*/
/*loading*/
.fr_modal_voiceRecognition.loading .fr_voiceRecognition-iconRing {
  border: 0 solid #000;
}
.fr_modal_voiceRecognition.loading .fr_voiceRecognition-icon {
  background: transparent;
  border: clamp(1px, 0.2544vw, 1.7px) solid #000;
}
.fr_modal_voiceRecognition.loading .fr_voiceRecognition-icon img {
  filter: invert(100%);
  width: clamp(26.75px, 6.8052vw, 45.475px);
}
.fr_modal_voiceRecognition.loading .fr_voiceRecognition-status .fr_voiceRecognition-status_ready {
  display: none;
}
.fr_modal_voiceRecognition.loading .fr_voiceRecognition-status .fr_voiceRecognition-status_loading {
  display: block;
}
.fr_modal_voiceRecognition.loading .fr_voiceRecognition-inner .fr_voiceRecognition-content .fr_voiceRecognition-text {
  display: none;
}
.fr_modal_voiceRecognition.loading .fr_voiceRecognition-inner .fr_voiceRecognition-content .fr_voiceRecognition-loading {
  display: block;
}
@media (orientation: landscape) {
  .fr_modal_voiceRecognition.loading .fr_voiceRecognition-inner .fr_voiceRecognition-content .fr_voiceRecognition-loading {
    margin-top: clamp(32px, 8.1408vw, 54.4px);
  }
}
.fr_modal_voiceRecognition.loading .fr_voiceRecognition-inner .fr_voiceRecognition-content .fr_voiceRecognition-loaded {
  display: none;
}
.fr_modal_voiceRecognition.loading .fr_voiceRecognition-butonWrap {
  visibility: hidden;
}
@media (orientation: landscape) {
  .fr_modal_voiceRecognition.loading .fr_voiceRecognition-butonWrap {
    display: none;
  }
}

/*loaded*/
.fr_modal_voiceRecognition.loaded .fr_voiceRecognition-iconRing {
  border: clamp(1px, 0.2544vw, 1.7px) solid #000;
  animation: none;
}
.fr_modal_voiceRecognition.loaded .fr_voiceRecognition-icon {
  background: transparent;
  border: clamp(1px, 0.2544vw, 1.7px) solid #000;
}
.fr_modal_voiceRecognition.loaded .fr_voiceRecognition-icon img {
  filter: invert(100%);
  width: clamp(26.75px, 6.8052vw, 45.475px);
}
.fr_modal_voiceRecognition.loaded .fr_voiceRecognition-inner .fr_voiceRecognition-content .fr_voiceRecognition-text {
  display: none;
}
.fr_modal_voiceRecognition.loaded .fr_voiceRecognition-inner .fr_voiceRecognition-content .fr_voiceRecognition-loading {
  display: none;
}
.fr_modal_voiceRecognition.loaded .fr_voiceRecognition-inner .fr_voiceRecognition-content .fr_voiceRecognition-loaded {
  display: flex;
}
.fr_modal_voiceRecognition.loaded .fr_voiceRecognition-butonWrap {
  visibility: visible;
  display: flex;
}
.fr_modal_voiceRecognition.loaded .fr_voiceRecognition-butonWrap .fr_voiceRecognition-ok {
  visibility: hidden;
}

/*# sourceMappingURL=styles.css.map */
