@charset "UTF-8";
/*
  /asset/css/object/component/c-button.css
  機能一覧用CSS
*/
.c-button-sub {
  position: relative;
  display: inline-block;
  padding: 15px 40px 12px;
  background: var(--rsaikenkanri-primary);
  border: 2px solid var(--rsaikenkanri-primary);
  border-radius: 50px;
  color: var(--white);
  line-height: 1.2;
  cursor: pointer;
  &::after {
    content: "";
    position: absolute;
    display: block;
    width: 8px;
    height: 8px;
    top: 0;
    right: 17px;
    bottom: 0;
    margin: auto;
    transform: rotate(45deg);
    transition: all ease 0.3s;
    border-top: 2px solid var(--white);
    border-right: 2px solid var(--white);
  }
  &:hover {
    background-color: var(--white);
    color: var(--rsaikenkanri-primary);
    &::after {
      border-top: 2px solid var(--rsaikenkanri-primary);
      border-right: 2px solid var(--rsaikenkanri-primary);
    }
  }
}
/*
  明細カラー
*/
.c-button-sub--rmeisai {
  background: var(--rmeisai-primary);
  border: 2px solid var(--rmeisai-primary);
  &:hover {
    background-color: var(--white);
    color: var(--rmeisai-primary);
    &::after {
      border-top: 2px solid var(--rmeisai-primary);
      border-right: 2px solid var(--rmeisai-primary);
    }
  }
}
.c-button-link {
  display: inline-block;
  padding: 15px 40px 12px;
  text-align: center;
  position: relative;
  line-height: 1.2;
  color: var(--white);
  border-radius: 50px;
  border: 2px solid var(--rsaikenkanri-primary);
  cursor: pointer;
  &:after {
    position: absolute;
    z-index: 10;
    display: block;
    content: "";
    width: 8px;
    height: 8px;
    top: 0;
    right: 17px;
    bottom: 0;
    margin: auto;
    transform: rotate(45deg);
    transition: all ease 0.3s;
    border-top: 2px solid var(--white);
    border-right: 2px solid var(--white);
  }
}

/* ↓古いcss */
.c-button-link._red {
  background-color: var(--rsaikenkanri-primary);
}
.c-button-link._navi_red {
  background-color: var(--rsaikenkanri-primary);
  padding: 10px 20px 7px 10px;
  font-size: 12px;
}
.c-button-link._navi_red:after {
  width: 6px;
  height: 6px;
  right: 10px;
}
@media screen and (min-width: 841px) {
  .c-button-link._red:hover {
    background-color: var(--white);
    color: var(--rsaikenkanri-primary);
  }
  .c-button-link._red:hover:after {
    border-top: 2px solid var(--rsaikenkanri-primary);
    border-right: 2px solid var(--rsaikenkanri-primary);
  }
  .c-button-link._navi_red:hover {
    background-color: var(--white);
    color: var(--rsaikenkanri-primary);
  }
  .c-button-link._navi_red:hover:after {
    border-top: 2px solid var(--rsaikenkanri-primary);
    border-right: 2px solid var(--rsaikenkanri-primary);
  }
}
.c-button-link._green {
  min-width: 130px;
  background-color: var(--rhanbai-cta);
  border: 2px solid var(--rhanbai-cta);
  color: var(--white);
}
@media screen and (min-width: 841px) {
  .c-button-link._green:hover {
    background-color: var(--white);
    color: var(--rhanbai-cta);
  }
  .c-button-link._green:hover:after {
    border-top: 2px solid var(--rhanbai-cta);
    border-right: 2px solid var(--rhanbai-cta);
  }
}
/* テキストリンクCTA */
.c-button {
  margin: 15px 0 0;
}
.c-button__icon-arrow {
  position: relative;
  font-size: 14px;
  font-weight: 700;
  color: var(--rsaikenkanri-primary);
  display: inline-block;
  margin: 0 auto;
  padding: 2px 0 0 23px;
  cursor: pointer;
}
.c-button__icon-arrow::before {
  content: "";
  display: inline-block;
  background-color: var(--rsaikenkanri-primary);
  width: 18px;
  height: 18px;
  border-radius: 9px;
  position: absolute;
  top: 11px;
  left: 0;
  transform: translateY(-50%);
  transition: transform 0.3s ease;
}
.c-button__icon-arrow:hover::before {
  transform: translate(-5px, -50%);
}
.c-button__icon-arrow::after {
  content: "";
  position: absolute;
  z-index: 10;
  display: block;
  width: 6px;
  height: 6px;
  top: 6px;
  left: 5px;
  bottom: 0;
  margin: auto;
  transform: translateY(-50%) rotate(45deg);
  border-top: 2px solid var(--white);
  border-right: 2px solid var(--white);
  transition: transform 0.3s ease;
}
.c-button__icon-arrow:hover::after {
  transform: translate(-5px, -50%) rotate(45deg);
}

/* 
TOPに戻るボタン
 */
.c-button-page-top {
  position: absolute;
  text-decoration: none;
  width: 50px;
  height: 50px;
  border-radius: 10px;
  background-color: rgba(0, 173, 14, 0.8);
  position: fixed;
  z-index: var(--z-index-pagetop);
  bottom: -60px;
  right: 30px;
  opacity: 0;
  transition: all ease 0.3s;
  display: block;
  height: 50px;
  &:after {
    position: absolute;
    display: block;
    content: "";
    width: 12px;
    height: 12px;
    top: 50%;
    left: 50%;
    bottom: auto;
    margin: auto;
    transform: translateY(-30%) translateX(-50%) rotate(-45deg);
    transition: all ease 0.3s;
    border-top: 2px solid var(--white);
    border-right: 2px solid var(--white);
  }
}
@media screen and (max-width: 840px) {
  .c-button-page-top {
    right: 10px;
  }
}
.c-button-page-top.is-show {
  bottom: 30px;
  opacity: 1;
  @media screen and (max-width: 840px) {
    bottom: 75px;
    right: 10px;
  }
  &.c-button-page-top--floating {
    bottom: 130px;
    @media screen and (max-width: 840px) {
      bottom: 75px;
    }
  }
}
.c-button-page-top.c-button-page-top--floating {
  bottom: 130px;
  @media screen and (max-width: 840px) {
    bottom: 75px;
  }
}
