.txt_btn {
  align-items: center;
  border: 1px solid rgba(10, 59, 148, .5);
  box-sizing: border-box;
  border-radius: 50px;
  display: inline-flex;
  justify-content: center;
  line-height: 1.2;
  overflow: hidden;
  padding: 10px 0px;
  width: 100%;
  position: relative;
  color: #0A3B94 !important;
  transition: border-color .3s cubic-bezier(.4, .64, .68, 1);
}
.txt_btn__bg {
  bottom: 0;
  left: 0;
  position: absolute;
  right: 0;
  top: 0
}
.txt_btn--white .txt_btn__bg {
  background-color: rgba(0, 0, 0, 0);
}
.txt_btn--black .txt_btn__bg {
  background: linear-gradient(-90deg, rgba(10, 59, 148, 1) 0%, rgba(0, 206, 255, 1)100%);
}
.txt_btn--clear .txt_btn__bg {
  background: #0A3B94;
}
.txt_btn--blue .txt_btn__bg {
  background-color: #0A3B94;
}
.txt_btn--black {
  border: none;
  color: #fff !important;
}
.txt_btn--clear {
  border: 1px solid #fff;
  color: #fff !important;
}
.txt_btn--blue {
  border: none;
  color: #fff !important;
}
.txt_btn.txt_btn--entry {
  padding: 15px 0;
  font-family: effra, sans-serif;
  font-weight: 700;
  font-size: 1.5rem;
  letter-spacing: 2px;
}
.txt_btn--entry .txt_btn__bg {
  background-color: #0A3B94;
}
.txt_btn--entry {
  border: none;
  color: #fff !important;
}
@media (any-hover: hover) {
  .txt_btn:hover, a:hover .txt_btn {
    border-color: #0A3B94;
  }
  .txt_btn--clear:hover, a:hover .txt_btn--clear {
    border-color: #fff;
  }
}
.c-text-ef__pivot {
  overflow: hidden;
  position: relative
}
.c-text-ef__pivot .c-text-ef__df {
  position: relative;
  transform: translateZ(0);
  transform-origin: 50% 0;
  white-space: nowrap
}
.c-text-ef__pivot .c-text-ef__hv {
  left: 0;
  position: absolute;
  top: 0;
  transform: translate3d(0, 100%, 0);
  transform-origin: 50% 100%;
  transition-delay: 0s;
  white-space: nowrap
}
@media (any-hover: hover) {
  .is-hovered .c-text-ef__pivot .c-text-ef__df, a:hover .c-text-ef__pivot .c-text-ef__df {
    transform: translate3d(0, -110%, 0);
    transition: .8s cubic-bezier(.19, 1, .22, 1);
    transition-delay: 0s
  }
  .is-hovered .c-text-ef__pivot .c-text-ef__hv, a:hover .c-text-ef__pivot .c-text-ef__hv {
    transform: translateZ(0);
    transition: .8s cubic-bezier(.19, 1, .22, 1);
    transition-delay: .04s
  }
}
/*== →ボタン設定 */
.btn {
  /*アニメーションの起点とするためrelativeを指定*/
  position: relative;
  overflow: hidden;
  /*ボタンの形状*/
  text-decoration: none;
  display: inline-block;
  background: linear-gradient(90deg, rgba(0, 206, 255, 1) 0%, rgba(10, 59, 148, 1)100%);
  padding: 3px 20px;
  border-radius: 30px;
  font-size: 1rem;
  text-align: center;
  outline: none;
  /*アニメーションの指定*/
  transition: ease .2s;
}
/*ボタン内spanの形状*/
.btn span {
  position: relative;
  z-index: 3; /*z-indexの数値をあげて文字を背景よりも手前に表示*/
  color: #fff;
}
.btn:hover span {
  color: rgba(0, 0, 0, 0);
}
/*== 背景が流れる（左から右） */
.btn.bgleft:before {
  content: '';
  font-family: FontAwesome;
  font-weight: 400;
  color: #fff;
  line-height: 2.5;
  /*絶対配置で位置を指定*/
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  /*色や形状*/
  background: #333;
  border-radius: 30px;
  width: 100%;
  height: 100%;
  /*アニメーション*/
  transition: transform .6s cubic-bezier(0.8, 0, 0.2, 1) 0s;
  transform: scale(0, 1);
  transform-origin: right top;
}
/*hoverした際の形状*/
.btn.bgleft:hover:before {
  content: '\f061';
  background: #333;
  transform-origin: left top;
  transform: scale(1, 1);
}
/* <li>にマウスオーバーした際に、.bgleftもhover状態にする */
li:hover .btn.bgleft:before {
  content: '\f061';
  background: #333;
  transform-origin: left top;
  transform: scale(1, 1);
}
li:hover .btn span {
  color: rgba(0, 0, 0, 0) !important;
}
/* ------------------------------------ */
/* ▼PC用デザインとして付け足すデザイン */
/* ------------------------------------ */
@media all and (min-width: 768px) {
  .txt_btn.txt_btn--entry {
    padding: 20px 0;
    font-size: 2rem;
  }
}