@charset "utf-8";
/* CSS Document */

/*
	ポイント購入キャンペーン

	マイページポイント購入ページ
		- 切り替えタブ
		- バナー
		- 支払方法選択

	マイページメニュー

	その他
		- 汎用
		- スタイル上書き
*/

/* ==================================================================================================================
ポイント購入キャンペーン
================================================================================================================== */
#pointbuy section#box_01 h2 {
  display: block;
  width: 100%;
  height: 0;
  padding-top: 62.5%;
  line-height: 200%;
  overflow: hidden;
  background: url(../../images/campaign/pointbuy/mainpic_01_touch.png) no-repeat 0 0;
  background-size: contain;
  position: relative;
}

#pointbuy section#box_01 .campaign_period_limit {
  position: absolute;
  left: 34.4%;
  top: 80.5%;
  color: #fff;
  font-weight: bold;
  font-size: 12px;
  font-size: 3.75vw;
  text-shadow: 1px 1px 2px rgba(0,0,0,0.5);
}

#pointbuy section#box_01 .campaign_period_limit span {
  font-size: 16px;
  font-size: 5vw;
  padding-right: 3px;
  font-family: Verdana, Geneva, sans-serif;
  letter-spacing: -1px;
}

#pointbuy section#box_01 .finished h2:before {
  content: "こちらのキャンペーンは終了しました";
  display: block;
  width: 100%;
  z-index: 510;
  position: absolute;
  top: 50%;
  margin-top: -0.7em;
  color: #fff;
  text-align: center;
  font-size: 14px;
  text-shadow: 1px 1px 2px #000;
}

#pointbuy section#box_01 .finished h2:after {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background: rgba(0,0,0,0.7);
  z-index: 500;
  position: absolute;
  top: 0;
  left: 0;
}

#pointbuy section[id^="box"] img {
  width: 100%;
  height: auto;
  vertical-align: bottom;
}

#pointbuy section#box_01 > div {
  position: relative;
}

#pointbuy section#box_02 {
  padding-bottom: 10px;
  background: #fffdda;
}

#pointbuy .text_box_01 p {
  font-size: 11px;
  line-height: 1.3;
}

/* ==================================================================================================================
マイページポイント購入ページ
================================================================================================================== */
/* 切り替えタブ
--------------------------------------------------------- */
.tab_area ul li.pointbuy_campaign a::after,
.tab_area ul li.current.pointbuy_campaign::after {
  content: "";
  display: inline-block;
  width: 30px;
  height: 30px;
  background: url(../../images/campaign/pointbuy/pic_pointup_03_touch.png) no-repeat 0 0;
  background-size: 30px 30px;
  vertical-align: middle;
  margin-left: 5px;
  -webkit-animation: blink 1.6s ease 0s infinite;
  animation: blink 1.6s ease 0s infinite;
}

.check_radio_list_01 li.pointbuy_campaign input[type="radio"] + label[for^="credit"] {
  position: relative;
}

/* バナー
--------------------------------------------------------- */
p.campaign_banner img {
  max-width: 100%;
  height: auto;
}

.text_box_01 + .text_box_01 {
 padding-top: 0;
}

/* 支払方法選択
--------------------------------------------------------- */
label.pointbuy_campaign span:first-child:after {
  content: "";
  display: inline-block;
  width: 30px;
  height: 30px;
  background: url(../../images/campaign/pointbuy/pic_pointup_03_touch.png) no-repeat 0 0;
  background-size: 30px 30px;
  vertical-align: middle;
  margin-left: 5px;
  -webkit-animation: blink 1.6s ease 0s infinite;
  animation: blink 1.6s ease 0s infinite;
}

label.pointbuy_campaign span:last-child {
  display: inline-block;
  color: #f18204;
  font-weight: bold;
}

/* ポイントアップ表示
--------------------------------------------------------- */
.form_list_01 li dd.pointup_notice {
  display: block;
  width: 100%;
  height: 0;
  padding: 60.9% 0 0;
  background: url(../../images/campaign/pointbuy/pic_pointup_01_touch.png) no-repeat 0 bottom;
  background-size: contain;
  position: relative;
  margin: -26px 0 0;
}

.pointup_notice::after {
  content: "";
  display: block;
  width: 46.9%;
  height: 0;
  padding-top: 16.3%;
  background: url(../../images/campaign/pointbuy/pic_pointup_02_touch.png) no-repeat 0 0;
  background-size: cover;
  position: absolute;
  right: 13%;
  bottom: 12%;
}

.pointup_notice.point_10k::after {
  background-position: 0 0;
}
.pointup_notice.point_15k::after {
  background-position: 0 11.1%;
}
.pointup_notice.point_20k::after {
  background-position: 0 22.2%;
}
.pointup_notice.point_30k::after {
  background-position: 0 33.3%;
}
.pointup_notice.point_50k::after {
  background-position: 0 44.4%;
}
.pointup_notice.point_100k::after {
  background-position: 0 55.6%;
}
.pointup_notice.point_300k::after {
  background-position: 0 66.7%;
}
.pointup_notice.point_500k::after {
  background-position: 0 77.8%;
}
.pointup_notice.point_1000k::after {
  background-position: 0 89.2%;
}
.pointup_notice.point_2000k::after {
  background-position: 0 101%;
}
.pointup_notice.not_apply {
  display: none;
}


/* ==================================================================================================================
マイページメニュー
================================================================================================================== */
.menu_list li.pointbuy_campaign a::after {
  content: "";
  display: inline-block;
  width: 30px;
  height: 30px;
  background: url(../../images/campaign/pointbuy/pic_pointup_03_touch.png) no-repeat 0 0;
  background-size: 30px 30px;
  vertical-align: middle;
  margin-left: 5px;
  -webkit-animation: blink 1.6s ease 0s infinite;
  animation: blink 1.6s ease 0s infinite;
}

@-webkit-keyframes blink {
  0% {
    opacity: 1;
    -webkit-transform: scale(1);
  }
  8% {
    opacity: 0.6;
    -webkit-transform: scale(0.9);
  }
  16% {
    opacity: 1;
    -webkit-transform: scale(1);
  }
  24% {
    opacity: 0.8;
    -webkit-transform: scale(0.95);
  }
  32%,100% {
    opacity: 1;
    -webkit-transform: scale(1);
  }
}

@keyframes blink {
  0% {
    opacity: 1;
    transform: scale(1);
  }
  8% {
    opacity: 0.6;
    transform: scale(0.9);
  }
  16% {
    opacity: 1;
    transform: scale(1);
  }
  24% {
    opacity: 0.8;
    transform: scale(0.95);
  }
  32%,100% {
    opacity: 1;
    transform: scale(1);
  }
}
