@charset "UTF-8";

/* CSS Document */
/* ===============================================================
# 共通
## レイアウト
## 見出し・タイトル
## ボタン
# コンテンツ
=============================================================== */
/* ===============================================================
# 共通
=============================================================== */
.alignl {
  text-align: left;
}

.alignr {
  text-align: right;
}

.alignc {
  text-align: center;
}

.fw_bold {
  font-weight: bold;
}

.fc_red {
  color: #e50114;
}

.shadow_box {
  -webkit-box-shadow: 0 0 5px 0 rgba(74, 27, 26, 0.11);
  box-shadow: 0 0 5px 0 rgba(74, 27, 26, 0.11);
}

.shadow_btn {
  -webkit-box-shadow: 0 3px 3px 0 rgba(0, 0, 0, 0.3);
  box-shadow: 0 3px 3px 0 rgba(0, 0, 0, 0.3);
}

.box_white {
  padding: 25px;
  background: #fff;
  border-radius: 6px;
}

.underline {
  text-decoration: underline;
}

@media screen and (min-width: 1024px) {
  .box_white {
      padding: 40px;
  }
}

.epay img {
  width: 100%;
  height: auto;
}

.epay .icon_external {
  display: inline-block;
  width: 16px;
  height: 13px;
  background: url(/e_pay/img/icon_external.gif) 0 0 / contain no-repeat;
  vertical-align: middle;
}

.epay_link_top {
  margin: 30px 0 0;
  text-align: right;
}

.epay_link_top a {
  font-size: 16px;
  font-weight: bold;
}

/* __________ レイアウト __________ */
.epay_wrap {
  max-width: 1140px;
  padding-bottom: 72px;
}

.w870 {
  max-width: 870px;
  margin: 0 auto;
}

.flex {
  display: -ms-flexbox;
  /*IE10*/
  display: -webkit-flex;
  display: -webkit-box;
  display: flex;
}


/* ===============================================================
# コンテンツ
=============================================================== */
.epay_title img {
  width: 100%;
  height: auto;
}

.epay_title__lead {
  margin: 36px 0 28px;
  font-size: 22px;
  font-weight: bold;
  line-height: 1.8;
  text-align: center;
}

.epay_content {
  padding-bottom: 70px;
}

.epay_content__title {
  padding: 15px 20px;
  color: #fff;
  background-color: #c7a77e;
  font-size: 22px;
  font-weight: bold;
  line-height: 1;
}

/* __________ ご利用に必要なもの __________ */
.epay_necessaries {}

.epay_necessaries_list {
  justify-content: space-between;
  margin: 35px 0 0;
  padding: 0 25px;
  background: url(/e_pay/img/icon_plus.gif) 50% 50% / 55px 55px no-repeat;
}

.epay_necessaries_list__item {
  width: 45.5%;
  max-width: 460px;
  padding: 30px 20px 20px;
  background-color: #fff;
  border: 2px solid #d2c0a7;
  border-radius: 5px;
}

.epay_necessaries_list__text {
  margin: 0 0 28px;
  font-size: 24px;
  font-weight: bold;
  line-height: 1.3;
  text-align: center;
}

.epay_necessaries_list__item:first-child .epay_necessaries_list__img {
  padding: 0 25px;
}

/* __________ アンカーリンク __________ */
.epay_service_nav {
  margin: 50px 0 0;
  padding: 36px 52px 29px;
  background-color: #eee;
}

.epay_service_nav__title {
  margin: 0 0 28px;
  font-size: 26px;
  font-weight: bold;
  line-height: 1.2;
  text-align: center;
}

.epay_service_nav__list {
  justify-content: space-between;
}

.epay_service_nav__item {
  width: 23%;
  max-width: 220px;
}

.epay_service_nav__item a {
  display: block;
  padding: 0 0 28px;
  background-color: #fff;
  border-radius: 5px;
  text-align: center;
}

.epay_service_nav__img {
  width: 116px;
  height: 117px;
  margin: 0 auto;
}

.epay_service_nav__img img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center center;
}

.epay_service_nav__link {
  margin: 5px 0 0;
  font-size: 16px;
  font-weight: bold;
  text-decoration: underline !important;
}

/* __________ バーコードが読み取れないときは？ __________ */
.epay_notes {
  max-width: 1020px;
  margin: 50px auto 0;
  padding: 30px 34px;
  border: 3px solid #e50512;
}

.epay_notes_title {
  margin-bottom: 30px;
  color: #e50114;
  font-size: 26px;
  font-weight: bold;
  letter-spacing: .05em;
  text-align: center;
}

.epay_notes_title:before {
  display: inline-block;
  content: '';
  width: 40px;
  height: 40px;
  margin-right: 14px;
  background: url(/e_pay/img/icon_caution.png) 0 0 / contain no-repeat;
  vertical-align: middle;
}

.epay_notes_lead {
  margin: 15px 0 0;
  color: #e50114;
  font-size: 18px;
  font-weight: bold;
}

.epay_notes_frame {
  margin: 24px auto 0;
  padding: 30px 34px;
  background-color: #fff4f4;
  border-radius: 10px;
}

.epay_notes_text {
  color: #e50114;
  font-size: 16px;
  font-weight: bold;
  line-height: 1.875;
}

.epay_notes_text + .epay_notes_text {
  margin-top: 1em;
}

.epay_notes_list {}

.epay_notes_list li {
  color: #e50114;
  font-size: 18px;
  font-weight: bold;
  line-height: 1.666;
}

/* __________ サービス詳細 __________ */
.epay_service {
  padding-bottom: 32px;
}

.epay_service_contents {
  /* margin-top: 70px; */
  padding-bottom: 70px;
}

.epay_service_contents__title {
  padding: 14px 22px;
  color: #333;
  background-color: #e9dfd1;
  font-size: 22px;
  font-weight: bold;
  line-height: 1;
}

.epay_service_contents__title_sub {
  margin: 40px 0 15px;
  color: #502708;
  font-size: 20px;
  font-weight: bold;
}

.epay_service_contents__text {
  font-size: 18px;
  font-weight: bold;
  line-height: 1.666;
}

.epay_service_contents__link_notes {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 600px;
  height: 70px;
  margin: 52px auto 0;
  color: #e50512 !important;
  font-size: 20px;
  font-weight: bold;
  line-height: 1;
  text-decoration: underline !important;
  letter-spacing: .05em;
  border: 3px solid #e50512;
}

.epay_service_contents__link_notes:after {
  position: absolute;
  top: calc(50% - 6px);
  right: 16px;
  content: '';
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 12px 8px 0 8px;
  border-color: #e50511 transparent transparent transparent;
}

.epay_service_contents__history,
.epay_service_contents__att li {
  margin-top: 1em;
}

.epay_service_flow {
  justify-content: space-between;
  flex-wrap: wrap;
  padding-bottom: 54px;
}

.epay_service_flow__item {
  position: relative;
  margin-left: 48px;
  width: 20%;
  max-width: 179px;
}

.epay_service_flow__item:nth-child(4n+1) {
  margin-left: 0;
}

.epay_service_flow__item:nth-child(n + 5) {
  margin-top: 18px;
}

.epay_service_flow__item.att {
  align-items: center;
  flex: 1 0 73%;
  width: 74%;
  max-width: 664px;
}

.epay_service_flow__item.-has-arrow:after {
  position: absolute;
  top: 36%;
  right: -36px;
  content: '';
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 11.5px 0 11.5px 12px;
  border-color: transparent transparent transparent #d2c0a7;
}

.epay_service_flow__img {}

.epay_service_flow__att {
  font-size: 18px;
  font-weight: bold;
  line-height: 1.666;
}

.epay_service_flow__text {
  margin-top: 15px;
  color: #333;
  font-size: 18px;
  font-weight: bold;
  line-height: 1.38;
}

/* __________ ご利用可能なサービス __________ */
.epay_service__lead {
  margin: 32px 0 0;
  font-size: 18px;
  font-weight: bold;
  line-height: 1.666;
}

.epay_service__list {
  justify-content: space-between;
  margin: 32px -10px 0;
}

.epay_service__item {
  width: 25%;
  padding: 0 10px;
}

.epay_service__item a {
  position: relative;
  display: block;
  background-color: #fff;
  border: 1px solid #aaa;
  border-radius: 5px;
}

.epay_service__item a:before,
.epay_service__item a:after {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  content: '';
  display: block;
}

.epay_service__item a:before {
  right: 10px;
  width: 20px;
  height: 20px;
  border: 1px solid #aaa;
  border-radius: 50%;
}

.epay_service__item a:after {
  right: 17px;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 4px 0 4px 5px;
  border-color: transparent transparent transparent #313131;
}

.epay_service__img {
  width: 116px;
  height: 116px;
  margin: 0 auto;
}

.epay_service__img img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center center;
}