/* お問い合わせボタン */
.btn-primary {
  align-items: center;
  border: 1px solid rgba(0, 0, 0, .5);
  box-sizing: border-box;
  border-radius: 5px;
  display: inline-flex;
  justify-content: center;
  line-height: 1.2;
  overflow: hidden;
  padding: 19px 20px 19px 0;
  width: calc(100% - 20px);
  position: relative;
  color: #333 !important;
  transition: border-color .3s cubic-bezier(.4, .64, .68, 1);
}
.btn-primary::before {
  position: absolute;
  content: '\f078';
  font-family: FontAwesome;
  font-weight: 400;
  color: #000;
  font-size: 1.2rem;
  top: 50%;
  right: 10px;
  transform: translate(0%, -50%);
}
/* ホバー時の背景 */
.btn-bg {
  bottom: 0;
  left: 0;
  position: absolute;
  right: 0;
  top: 0
}
/* テキストをまとめるコンテナ */
.btn-text-wrapper {
  overflow: hidden;
  position: relative
}
/* デフォルトのテキスト */
.btn-text {
  position: relative;
  transform: translateZ(0);
  transform-origin: 50% 0;
  white-space: nowrap;
  transition: transform .8s cubic-bezier(.19, 1, .22, 1);
}
/* ホバー時のテキスト */
.btn-text-hover {
  left: 0;
  position: absolute;
  top: 0;
  transform: translate3d(0, 100%, 0);
  transform-origin: 50% 100%;
  white-space: nowrap;
  transition: transform .8s cubic-bezier(.19, 1, .22, 1);
}
/* ホバー時の挙動 */
@media (any-hover: hover) {
  .btn-primary:hover {
    border-color: #000;
  }
  .btn-primary:hover .btn-text {
    transform: translate3d(0, -110%, 0);
  }
  .btn-primary:hover .btn-text-hover {
    transform: translateZ(0);
    transition-delay: .04s; /* 少し遅れて動き出す */
  }
}
/* moreボタン */
.morebtn-primary {
  align-items: center;
  box-sizing: border-box;
  border-bottom: 1px solid #000;
  display: inline-flex;
  justify-content: center;
  font-weight: 500;
  overflow: hidden;
  padding: 10px 80px 10px 0;
  position: relative;
  color: #333 !important;
  transition: border-color .3s cubic-bezier(.4, .64, .68, 1);
}
/* ホバー時の背景 */
.morebtn-bg {
  bottom: 0;
  left: 0;
  position: absolute;
  right: 0;
  top: 0
}
/* テキストをまとめるコンテナ */
.morebtn-text-wrapper {
  overflow: hidden;
  position: relative
}
/* デフォルトのテキスト */
.morebtn-text {
  position: relative;
  transform: translateZ(0);
  transform-origin: 50% 0;
  white-space: nowrap;
  transition: transform .8s cubic-bezier(.19, 1, .22, 1);
}
/* ホバー時のテキスト */
.morebtn-text-hover {
  left: 0;
  position: absolute;
  top: 0;
  transform: translate3d(0, 100%, 0);
  transform-origin: 50% 100%;
  white-space: nowrap;
  transition: transform .8s cubic-bezier(.19, 1, .22, 1);
}
/* ホバー時の挙動 */
@media (any-hover: hover) {
  .morebtn-primary:hover .morebtn-text {
    transform: translate3d(0, -110%, 0);
  }
  .morebtn-primary:hover .morebtn-text-hover {
    transform: translateZ(0);
    transition-delay: .04s; /* 少し遅れて動き出す */
  }
}
/*== →ボタン設定 */
.btn {
  position: relative;
  overflow: hidden;
  text-decoration: none;
  display: inline-block;
  background: #000;
  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;
  color: #fff;
}
.btn:hover span {
  color: rgba(0, 0, 0, 0);
}
/*== 背景が流れる（左から右） */
.btn::before {
  content: '';
  font-family: FontAwesome;
  font-weight: 400;
  color: #000;
  line-height: 2.5;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  background: #E5E5E5;
  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:hover:before {
  content: '\f061';
  background: #E5E5E5;
  transform-origin: left top;
  transform: scale(1, 1);
}
/* .morebtn-primaryにマウスオーバーした際に、.btnもhover状態にする */
.morebtn-primary .btn {
  position: absolute;
  top: 50%;
  right: 0;
  transform: translate(0%, -50%);
}
.morebtn-primary:hover .btn::before {
  content: '\f061';
  background: #E5E5E5;
  transform-origin: left top;
  transform: scale(1, 1);
}
.morebtn-primary:hover .btn span {
  color: rgba(0, 0, 0, 0) !important;
}
/* <li>にマウスオーバーした際に、.bgleftもhover状態にする */
li:hover .btn:before {
  content: '\f061';
    background: #E5E5E5;
  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) {}