@import url('https://fonts.googleapis.com/css?family=Roboto&display=swap');

/* ------------------------------------------------------------
  Reset
------------------------------------------------------------ */
body{
  overflow-x:hidden;
  margin:0;
  color: #333;
  background-color:#fff;
}
.rakuten_5m5 {
  font-family:'Roboto', 'Noto Sans CJK', sans-serif;
}
.rakuten_5m5 img {
  max-width: 100%;
  width: auto;
  vertical-align: bottom;
}

.hide {
  display:none !important; /* 機種判別によるボタン出し分けに必須 */
}


/* ------------------------------------------------------------
  Xperia campaign common
------------------------------------------------------------ */

/* 上下の空き指定 ------------------------ */

.rakuten_5m5 .mb0,
.rakuten_5m5 .kk.mb0 { margin-bottom:0; }

.rakuten_5m5 .mb10,
.rakuten_5m5 .kk.mb10 { margin-bottom:10px; }

.rakuten_5m5 .mb20,
.rakuten_5m5 .kk.mb20 { margin-bottom:20px; }

.rakuten_5m5 .mb40,
.rakuten_5m5 .kk.mb40 { margin-bottom:40px; }

.rakuten_5m5 .mt02em,
.rakuten_5m5 .kk.mt02em { margin-top:0.2em; }

.rakuten_5m5 .mt03em,
.rakuten_5m5 .kk.mt03em { margin-top:0.3em; }

.rakuten_5m5 .mt05em,
.rakuten_5m5 .kk.mt05em { margin-top:0.5em; }

.rakuten_5m5 .mt1em,
.rakuten_5m5 .kk.mt1em { margin-top:1em; }

.rakuten_5m5 .mt2em,
.rakuten_5m5 .kk.mt2em { margin-top:2em; }

.rakuten_5m5 .mt0,
.rakuten_5m5 .kk.mt0 { margin-top:0; }

.rakuten_5m5 .mt5,
.rakuten_5m5 .kk.mt5 { margin-top:5px; }

.rakuten_5m5 .mt10,
.rakuten_5m5 .kk.mt10 { margin-top:10px; }

.rakuten_5m5 .mt20,
.rakuten_5m5 .kk.mt20 { margin-top:20px; }

.rakuten_5m5 .mt30,
.rakuten_5m5 .kk.mt30 { margin-top:30px; }

.rakuten_5m5 .mt40,
.rakuten_5m5 .kk.mt40 { margin-top:40px; }

.rakuten_5m5 .mtSec { margin-top:90px; }


/* 文字装飾(色、アンダーライン) ------------------------ */

.rakuten_5m5 .tx_ul { text-decoration:underline; }

.rakuten_5m5 .tx-orange { color: #cd5c29; font-weight: bold; }
.rakuten_5m5 .txt_red { color:#F00; }

.rakuten_5m5 .tx-c {
  text-align: center !important;
  margin-left: auto;
  margin-right: auto;
  width:100%;
}

.rakuten_5m5 .tx-l {
  text-align: left !important;
  margin-left: auto;
  margin-right: auto;
  width:100%;
}

.rakuten_5m5 .tx-r {
  text-align: right !important;
  margin-left: auto;
  margin-right: auto;
  width:100%;
}


/* テキストインデント ------------------------ */

.rakuten_5m5 .kk{
  padding-left:1em;
  text-indent:-1em;
  margin:0;
}

.rakuten_5m5 .kk > span:first-child{
  display:inline-block;
  width:1em;
  text-indent:0;
}


/* 改行禁止 ------------------------ */

.rakuten_5m5 .brno{ white-space:nowrap; }

.rakuten_5m5 .w_sp {
  width:100%;
  margin-left:auto;
  margin-right:auto;
  overflow:visible;
  margin-bottom:5vw;
}


/* リスト ------------------------ */


.rakuten_5m5 ul.list_dot, ul.list_dot li{
  list-style:none;
  display:block;
}

.rakuten_5m5 ul.list_dot li{
  padding-left:1em;
  text-indent:-1em;
}

.rakuten_5m5 ul.list_dot li:before{
  content:"・";
  display:inline-block;
  width:1em;
  vertical-align:middle;
  text-align:center;
  text-indent:0;
}

.rakuten_5m5 ul.list_dot li.kome:before{
  content:"※";
}

/* リンクタグ ------------------------ */


.rakuten_5m5 a {
  color: #03f;
  word-break: break-all;
}

.rakuten_5m5 a.cover-link_blank:after{
  content:"";
  display:inline-block;
  padding-right: 5vw;
  margin-left:0.25em;
  height:inherit;
  min-height:1em;
  background:url(../img/xpcampaign-icon_blank.svg) 50% 45% no-repeat;
  background-size: auto 0.6em;
  vertical-align:middle;
}
.rakuten_5m5 i.sprite-icon-blank {
  display: inline-block;
  overflow: hidden;
  white-space: nowrap;
  text-indent: 100%;
  background-position: -30px -85px;
  width: 10px;
  height: 9px;
  background-image: url(../img/icon@2x.png?a70d2bd31d);
  background-size: 117px 105px;
  background-repeat: no-repeat;
  margin-left:1px;
  margin-right:2px;
}


/* ボーダーを消す ------------------------ */
#contents .rakuten_5m5 .bdno{
  border:none;
}

/* ------------------------------------------------------------
  Xperia campaign for smartphone
------------------------------------------------------------ */

/* font-size XL準拠 ------------------------ */

  .fs-10 { font-size: 2.777777778vw; line-height: 4.166666667vw; }
  .fs-11 { font-size: 3.055555555vw; line-height: 4.583333333vw; }
/*.fs-12 { font-size: 3.333333333vw; line-height: 5vw; } */ /* base.css に有り */
/*.fs-13 { font-size: 3.611111111vw; line-height: 5.277777778vw; } */ /* base.css に有り */
/*.fs-14 { font-size: 3.888888889vw; line-height: 5.555555556vw; } */ /* base.css に有り */
  .fs-15 { font-size: 4.166666666vw; line-height: 5.729166666vw; }
/*.fs-16 { font-size: 4.444444444vw; line-height: 6.111111111vw; } */ /* base.css に有り */
  .fs-17 { font-size: 4.722222222vw; line-height: 6.296296296vw; }
/*.fs-18 { font-size: 5vw; line-height: 6.666666667vw; } */ /* base.css に有り */
/*.fs-20 { font-size: 5.555555556vw; line-height: 7.222222222vw; } */ /* base.css に有り */
  .fs-22 { font-size: 6.111111112vw; line-height: 7.944444444vw; }
  .fs-24 { font-size: 6.666666667vw; line-height: 8.666666666vw; }
  .fs-26 { font-size: 7.222222222vw; line-height: 9.388888889vw; }
/*.fs-28 { font-size: 7.777777778vw; line-height: 9.444444444vw; } */ /* base.css に有り */


/* ------------------------------------------------------------
  Base
------------------------------------------------------------ */
.rakuten_5m5 {
  max-width: 100%;
  margin: 0 auto;
  text-align: center;
  word-wrap: break-word;
  overflow-wrap: break-word;
  color: #333;
	overflow: hidden;
}

.rakuten_5m5 .inner_wrap {
  width: 90%;
  margin: 0 auto;
  padding-left:0;
  padding-right:0;
}

.rakuten_5m5 h2{
  font-weight:bold;
}

.rakuten_5m5 h2.h-bg-r {
  text-align: center;
  color:#000;
  padding: 3.5vw 0;
  background: #ddd;
  font-weight: bold;
}


/* display for sp ------------------------ */

.rakuten_5m5 .sm-pc {
  display: none !important;
}
.rakuten_5m5 .w_sp:last-of-type {
  padding-bottom:0;
  margin-bottom:5vw;
}



/* Hero ------------------------ */
.rakuten_5m5__hero h1, .rakuten_5m5__hero p {
  margin: 0;
  padding: 0;
}
.rakuten_5m5__hero {
  margin-top:0;
}
/* ld ------------------------ */
.rakuten_5m5__ld {
	width: 90%;
	max-width: 1078px;
	margin: 30px auto 0;
}
@media only screen and (max-width: 767px) {
	.rakuten_5m5__ld {
		width: 96%;
		max-width: none;
		margin: 8vw auto 0;
	}
}


/* 終了メッセージ ------------------------ */
.rakuten_5m5 .close_txt {
  text-align:center;
  font-weight:bold;
  margin:30px auto;
  padding:1em 0;
  border:1px solid #000;
}
.rakuten_5m5 .spBr {
  display:inline-block;
}


/* 期間 ------------------------ */
.rakuten_5m5 .kikan{
  position:relative;
  margin-top:30px;
  text-align:center;
}
.rakuten_5m5 .kikan span{
  width:100%;
  /*background:linear-gradient(to bottom, #ddd, #ddd 50%, #fff 50%);*/
  margin:0 auto;
  border:2px solid #ddd;
  display:block;
  position:relative;
	background-color: #ddd;
}



/* キャンペーン対象端末 Pontaポイントとは ------------------------ */

.rakuten_5m5 .cptarget,
.rakuten_5m5 .ponta{
  border:1px solid #ccc;
  width:100%;
  margin:30px auto 0 auto;
  padding:0 5vw 5vw 5vw;
  position:relative;
  overflow:hidden;
  text-align:center;
}
.rakuten_5m5 .ponta + div{
  width:100%;
  margin:0 auto;
  padding:3vw 3vw 3vw 5vw;
}
.rakuten_5m5 .cptarget > h2,
.rakuten_5m5 .ponta > h2{
  position:relative;
  height:20vw;
  padding:0;
  z-index:2;
  overflow:visible;
}
.rakuten_5m5 .cptarget > h2:before,
.rakuten_5m5 .cptarget > h2:after,
.rakuten_5m5 .ponta > h2:before,
.rakuten_5m5 .ponta > h2:after{
  content:"";
  display:block;
  position:absolute;
  top:auto;
  left:50%;
  width:0;
  height:0;
  transform:translate(-50%, 0);
  border:50vw solid transparent;
  border-bottom:0px solid transparent;
}
.rakuten_5m5 .cptarget > h2:before,
.rakuten_5m5 .ponta > h2:before{
  bottom:0;
  border-top:5vw solid #ccc;
}
.rakuten_5m5 .cptarget > h2:after,
.rakuten_5m5 .ponta > h2:after{
  bottom:1px;
  border-top:5vw solid #fff;
}
.rakuten_5m5 .cptarget img,
.rakuten_5m5 .ponta img{
  position:relative;
  z-index:1;
  margin-top:2vw;
  margin-bottom:5vw;
  width:80%;
}
.rakuten_5m5 .cptarget > span:first-of-type,
.rakuten_5m5 .ponta > span:first-of-type,
.rakuten_5m5 .cptarget > span:last-of-type,
.rakuten_5m5 .ponta > span:last-of-type{
  width:100%;
  position:relative;
  display:block;
  text-align:center;
  margin:0;
}
.rakuten_5m5 .ponta > span:first-of-type{
  text-align:left;
  padding:2em 0;
}
.rakuten_5m5 .cptarget > h2 span,
.rakuten_5m5 .ponta > h2 span{
  position:absolute;
  width:100%;
  top:50%;
  transform:translate(0, -50%);
  margin:0;
  right:0;
  top:9vw;
  z-index:3;
}
.rakuten_5m5 .cptarget > span a,
.rakuten_5m5 .ponta > span a{
  display:block;
  vertical-align:middle;
  text-align:center;
  color:#fff;
  line-height:3em;
  height:3em;
  position:relative;
}

.rakuten_5m5 .cptarget > span:last-of-type a:first-of-type{
  background-color:#eb5505;
  margin-bottom:1.5em;
}

.rakuten_5m5 .cptarget > span:last-of-type a:last-of-type{
  background-color:#000;
}

.rakuten_5m5 .ponta > span:last-of-type a{
  background-color:#0079d6;
}


/* STEP ------------------------ */

.rakuten_5m5 .point_wp {
  margin-bottom:50px;
}

.rakuten_5m5 .dp_step_wrap{
  padding:0 5%;
}


.rakuten_5m5 .dp_step{
  display:flex;
  flex-wrap:wrap;
  list-style:none;
  width:calc(100% + 4px);
  margin:0;
  padding:0;
}

.rakuten_5m5 .dp_step li {
  list-style:none;
  margin:0;
  padding:10px 10px 15% 10px;
  position:relative;
  width:50%;
  position:relative;
  padding:2vw 1vw 34% 1vw;
  text-align:left;
}

.rakuten_5m5 .dp_step li:nth-child(n+3){
  padding:2vw 1vw 30% 1vw;
}
.rakuten_5m5 .dp_step li > img{
  position:absolute;
  bottom:0;
  left:auto;
  right:auto;
  height:auto;
  width:auto;
  z-index:1;
  max-width:100%;
}
.rakuten_5m5 .dp_step li div {
  width:100%;
  display:block;
  padding:0;
  position:relative;
  z-index:2;
  vertical-align:top;
}
.rakuten_5m5 .dp_step li div:nth-child(1) span {
  text-align:center;
  display:block;
  position:relative;
  padding:10px 0;
  border-right:2px solid #ee9641;
  border-bottom:2px solid #ee9641;
  font-size:1px; /* デザインのための高さ調整 */
  line-height:3.7vw; /* デザインのための高さ調整 */
  margin:0;
  overflow:visible;
  height:auto;
}
.rakuten_5m5 .dp_step li div:nth-child(1) {
  width:100%;
}
.rakuten_5m5 .dp_step li div:nth-child(2){
  border:none;
  text-align:left;
  padding:5px 0 10px 0;
  margin-top:1px;
  word-break:break-all;
  white-space:normal;
}

.rakuten_5m5 .dp_step li div:nth-child(2) span{
  white-space:nowrap;
}
.rakuten_5m5 .dp_step li div:nth-child(1) span{
  padding:1.5vw 0;
  height:7.5vw;
}
.rakuten_5m5 .dp_step li div:nth-child(1) span img{
  width:auto;
  height:auto;
  display:inline-block;
  max-height:3.7vw;
  max-width:initial;
  vertical-align:middle;
}

/* 機種判別 ------------------------ */

.rakuten_5m5-wrap #aCourse .btn-lg,
.rakuten_5m5-wrap #onXperia .btn-lg {
  border:none !important;
  padding:0 !important;
}
.rakuten_5m5-wrap #aCourse .app-xlj,
.rakuten_5m5-wrap #onXperia .app-xlj {
  text-align:center;
}
.rakuten_5m5-wrap #aCourse .app-xlj img,
.rakuten_5m5-wrap #onXperia .app-xlj img {
  width:100%;
}
.rakuten_5m5-wrap .pre_txt {
  text-align:center;
  color:#F00;
  margin-top:2em;
}

.rakuten_5m5 #onXperia,
.rakuten_5m5 #aCourse,
.rakuten_5m5 #isNotQualified {
  padding: 0;
  margin: 0 0 30px 0;
}

.rakuten_5m5 .onXperia_btn,
.rakuten_5m5 #aCourse .app-xlj {
  background-color:#d85f29;
  text-align: center;
  line-height: 1;
  line-height:2;
  overflow:hidden;
  position:relative;
}

.rakuten_5m5 .onXperia_btn a,
.rakuten_5m5 #aCourse .app-xlj a {
  color:#fff;
  display:block;
  padding: 7vw 0;
  font-weight:normal;
}

.rakuten_5m5 .onXperia_btn:before,
.rakuten_5m5 .onXperia_btn:after,
.rakuten_5m5 #aCourse .app-xlj:before,
.rakuten_5m5 #aCourse .app-xlj:after{
  content:"";
  display:inline-block;
  position:absolute;
  top:50%;
  transform:translate(0, -50%);
}

.rakuten_5m5 .onXperia_btn:before,
.rakuten_5m5 #aCourse .app-xlj:before{
  left:0;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 35px 0 35px 5vw;
  border-color: transparent transparent transparent #fff;
}

.rakuten_5m5 .onXperia_btn:after,
.rakuten_5m5 #aCourse .app-xlj:after{
  right:0;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 35px 5vw 35px 0;
  border-color: transparent #fff transparent transparent;
}
.rakuten_5m5 #aCourse .app-xlj:before{
  border-width: 12vw 0 12vw 5vw;
}
.rakuten_5m5 #aCourse .app-xlj:after{
  border-width: 12vw 5vw 12vw 0;
}

.rakuten_5m5 #onXperia .onXperia_btn .btn-lg,
.rakuten_5m5 .onXperia_btn .btn-primary {
  background:none;
  line-height:2; /* デザインのための高さ調整 */
  padding: 10px !important;
  border:none !important; /* _res内のcssから継承されている指定により、一部ブラウザで線が見えるため追加 */
}
.rakuten_5m5 #aCourse .app-xlj.cod_btn {
  margin-top:20px;
  background-color:#000;
}
.rakuten_5m5 #aCourse .app-xlj.cod_btn a {
  text-decoration:none !important;
}

.rakuten_5m5 .onXperia_btn,
.rakuten_5m5 #aCourse .app-xlj,
.rakuten_5m5 .rakuten_5m5-wrap #onXperia .onXperia_btn .btn-lg,
.rakuten_5m5 .onXperia_btn .btn-primary {
  line-height:2.4;  /*デザインのための高さ調整*/
  background-size:5% auto;
}
.rakuten_5m5 #aCourse .app-xlj {
  letter-spacing:0.2em;
}

.rakuten_5m5 #aCourse p,
.rakuten_5m5 #onXperia p,
.rakuten_5m5 #isNotQualified p {
  background-color: #fbfbfb;
  border: 1px solid #e9e9e9;
  text-align: center;
  padding:1em 0;
  margin-top:10px !important;
}


/* CP誘導 ------------------------ */


.rakuten_5m5 .reserve_cp{
  background-color:#ba9e4a;
  padding:5vw 2.5vw 5vw 2.5vw;
  margin-bottom:10vw;
  margin:0;
}
.rakuten_5m5 .reserve_cp img{
  display:block;
  width:100%;
}
.rakuten_5m5 .reserve_cp p{
  text-align:left;
  padding:2vw;
  margin:1em auto 0 auto;
  color:#f00;
  background:#fff;
}
.rakuten_5m5 .reserve_cp h2{
  margin-bottom:5vw;
}
.rakuten_5m5 .reserve_cp h2 img{
  width:100%;
  margin:0 auto 2% auto;
  position:relative;
}
.rakuten_5m5 .reserve_cp ul,
.rakuten_5m5 .reserve_cp ul li{
  list-style:none outside;
}
.rakuten_5m5 .reserve_cp ul{
  display:block;
  text-align:center;
  margin:0 0 4vw 0;
  padding:0;
}
.rakuten_5m5 .reserve_cp ul li{
  display:block;
  width:100%;
  vertical-align:top;
  background:#fff;
  position:relative;
  padding:3.5vw 2vw;
}
.rakuten_5m5 .reserve_cp ul li:first-of-type{
  margin-right:0;
  margin-bottom:16.5vw;
}
.rakuten_5m5 .reserve_cp ul li:first-of-type:after{
  content:"";
  display:inline-block;
  width:20vw;
  font-size:1px; /*デザインのための高さ調整*/
  line-height:1px; /*デザインのための高さ調整*/
  padding-top:20vw;
  background:url(../img/plus.svg) center center no-repeat;
  background-size:contain;
  position:absolute;
  right:50%;
  top:96%;
  z-index:2;
  margin:0;
  transform:translate(50%,0);
}

.rakuten_5m5 a.go_scroll{
  display:inline-block;
  color:#fff;
  font-weight:bold;
  text-decoration:underline;
  text-decoration-thickness:1px;
}


/* キャンペーン要項 規約 ------------------------ */


.rakuten_5m5 .dl_campaign-yoko,
.rakuten_5m5 .section-kiyaku dl {
  padding: 20px 0 30px;
  margin: 0;
  border-bottom:1px solid #000;
  height:auto;
  text-align:left;
}

.rakuten_5m5 .dl_campaign-yoko + .rakuten_5m5 .dl_campaign-yoko {
  padding: 20px 0;
}

.rakuten_5m5 .dl_campaign-yoko dt,
.rakuten_5m5 .section-kiyaku dt
 {
  display: block;
  margin: 0;
  padding-top: 0;
  padding-right: 0;
  padding-bottom: 5px;
  font-weight: bold;
  text-align:left;
}

.rakuten_5m5 .section-kiyaku dt{
  font-weight:normal;
  margin-bottom:5px;
}

.rakuten_5m5 .dl_campaign-yoko dd,
.rakuten_5m5 .section-kiyaku dd {
  display: block;
  margin: 0;
  padding: 0;
  font-weight: normal;
  text-align: justify;
  text-justify: inter-ideograph;
}

.rakuten_5m5 .dl_campaign-yoko dd p.no-justify{
  text-align: start;
}

.rakuten_5m5 .yoko-icon.yoko-icon-entry {
  width: 26px;
  padding-right: 5px;
}

/* お問い合わせ ------------------------ */

.rakuten_5m5 span.mail-txt,
.rakuten_5m5 .dl_campaign-yoko span.mail-txt,
.section-kiyaku span.mail-txt{
  color:#eb5505;
  font-weight: bold;
  white-space:nowrap;
  display:inline;
}

.rakuten_5m5 .confirm-link {
  text-align: center;
}

.rakuten_5m5 .confirm-link a {
  text-decoration: underline !important;
  color: #eb5505;
}

.rakuten_5m5 .info-txt {
  text-align: left;
  list-style: none;
  padding: 0;
}

.rakuten_5m5 .icon_tell {
  margin:0 !important;
}

.rakuten_5m5 .icon_tell::before {
  content:" ";
  padding-left:7.777777778vw;
  background: url(../img/icon_phone.svg) no-repeat 50% !important;
  height:9.444444444vw;
  background-size:contain !important;
  vertical-align:-5%;
}
.rakuten_5m5 .icon_mail {
  padding:5px 0;
}
.rakuten_5m5 .icon_mail a{
  display:block;
  width:auto;
  max-width:initial;
  text-align:center;
  background-color:#0079d6;
  color:#fff;
  line-height:3.5em; /*デザインのための高さ調整*/
  font-weight:normal;
  position:relative;
  padding-right:1em;
}
.rakuten_5m5 .icon_mail a::before {
  content:"";
  padding-left:1.3em;
  height:1em;
  background: url(../img/icon_mail.svg) no-repeat 50% !important;
  background-size:contain !important;
  margin-right:0.5em;
}


.rakuten_5m5 .once-text {
  text-align: left;
  font-weight: bold;
  margin-top:1em;
  margin-bottom:1em;
}

.rakuten_5m5 .dl_campaign-yoko .once-text.icon_mail a span{
  white-space:nowrap;
}

.rakuten_5m5 .telephone span{
  font-size:6.666666667vw;
}


/* 規約ページ送信ボタン------------------------ */

.rakuten_5m5 input[type="button"] {
  color: #fff;
  padding: 20px;
  border: none;
  background: #eb5505;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  border-radius: 5px;
}
/* 送信ボタン - マウスオーバー時 */
.rakuten_5m5 input[type="button"]:hover {
  background: #ff0085;
}
/* 送信ボタン - 押せないとき */
.rakuten_5m5 input[type="button"][disabled] {
  background-color: #ccc;
  cursor: default;
}
.rakuten_5m5 .pointer label:hover, .pointer input:hover {
  cursor: pointer;
}


/* 最下部バナーエリア ------------------------ */

.rakuten_5m5 .bnr_area{ margin-top:10px; }
.rakuten_5m5 .bnr_area a{ width:100%; display:block; border:1px solid #eee; }
.rakuten_5m5 .bnr_area a:nth-of-type(even){ margin-top:5vw; }
.rakuten_5m5 .bnr_area img{ width:100%; height:auto; display:block; }


.rakuten_5m5 .organizer{ text-align:center; padding: 35px 0; }





/* ------------------------------------------------------------
  Xperia campaign for PC
------------------------------------------------------------ */

@media only screen and (min-width: 768px) {

/* font-size XL準拠 PC用(line-height調整) ------------------------ */

  .rakuten_5m5 .fs-10 { font-size: 10px; line-height: 1.6em; }
  .rakuten_5m5 .fs-11 { font-size: 11px; line-height: 1.6em; }
  .rakuten_5m5 .fs-12 { font-size: 12px; line-height: 1.6em; }
  .rakuten_5m5 .fs-13 { font-size: 13px; line-height: 1.6em; }
  .rakuten_5m5 .fs-14 { font-size: 14px; line-height: 1.6em; }
  .rakuten_5m5 .fs-15 { font-size: 15px; line-height: 1.6em; }
  .rakuten_5m5 .fs-16 { font-size: 16px; line-height: 1.6em; }
  .rakuten_5m5 .fs-17 { font-size: 17px; line-height: 1.6em; }
  .rakuten_5m5 .fs-18 { font-size: 18px; line-height: 1.6em; }
  .rakuten_5m5 .fs-20 { font-size: 20px; line-height: 1.6em; }
  .rakuten_5m5 .fs-22 { font-size: 22px; line-height: 1.6em; }
  .rakuten_5m5 .fs-24 { font-size: 24px; line-height: 1.6em; }
  .rakuten_5m5 .fs-26 { font-size: 26px; line-height: 1.6em; }
  .rakuten_5m5 .fs-28 { font-size: 28px; line-height: 1.6em; }

  .rakuten_5m5 a.cover-link_blank:after{
    padding-right: 1em;
  }

  body{
    font-family:'Hiragino Kaku Gothic ProN', Meiryo, Roboto, sans-serif;
  }
  .rakuten_5m5 {
    font-family:'Hiragino Kaku Gothic ProN', Meiryo, Roboto, sans-serif;
  }

  #contents div.rakuten_5m5 {
    font-size: 14px;
    line-height: 1.6em;
    overflow-x:hidden;
  }

  .rakuten_5m5 .inner_wrap {
    max-width: 960px;
    width: 100%;
    margin: 0 auto;
    padding-left:0;
    padding-right:0;
  }

  .rakuten_5m5 a:hover {
    opacity: 0.8;
    filter: alpha(opacity=80);
    -moz-opacity: 0.8;
  }


  #contents .rakuten_5m5 h2.h-bg-r {
    font-size:22px;
    padding: 10px 0;
    margin-bottom:10px;
  }



/* Hero ------------------------ */

  .rakuten_5m5 .rakuten_5m5__hero {
    margin-top:20px;
  }

/* 終了メッセージ ------------------------ */

  .rakuten_5m5 .close_txt {
    margin:50px auto;
    padding:1em;
  }

  .rakuten_5m5 .close_txt p {
    margin-bottom:0;
    font-size: 18px;
    line-height: 1.8em;
  }
  .rakuten_5m5 .spBr {
    display:none;
  }


/* 期間 ------------------------ */
  .rakuten_5m5 .kikan{
    margin-top:30px;
  }
  .rakuten_5m5 .kikan span {
    width:96%;
    display:inline-block;
    border:1px solid #ddd;
    width:calc((100% - 30px) / 2);
    overflow:hidden;
    vertical-align:bottom;
  }

  .rakuten_5m5 .kikan span:nth-child(2){
    margin-left:30px;
  }

  .rakuten_5m5 .kikan span img{
    display:block;
    /*width:calc(100% + 4px);
    margin:-2px;*/
		width: 100%;
  }



/* キャンペーン対象端末 Pontaポイントとは ------------------------ */

  .rakuten_5m5 .cptarget,
  .rakuten_5m5 .ponta{
    margin:50px 0;
    padding: 0 30px 0 24%;
    text-align: right;
    vertical-align: middle;
    position: relative;
  }
  .rakuten_5m5 .cptarget img,
  .rakuten_5m5 .ponta img{
    max-width:100%;
    width:auto;
    margin-top:auto;
    margin-bottom:auto;
  }
  .rakuten_5m5 .cptarget > h2,
  .rakuten_5m5 .ponta > h2{
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 75%;
    height:100%;
    padding: 0 25px 0 0;
    margin: 0;
    overflow: hidden;
  }

  .rakuten_5m5 .cptarget > h2:before,
  .rakuten_5m5 .cptarget > h2:after,
  .rakuten_5m5 .ponta > h2:before,
  .rakuten_5m5 .ponta > h2:after{
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    width: 0;
    height: 0;
    transform: translate(0, -50%);
    border: 150px solid transparent;
    border-right: 0px solid transparent;
    left:auto;
  }
  .rakuten_5m5 .cptarget > h2:before,
  .rakuten_5m5 .ponta > h2:before{
    right:0;
    border-left:50px solid #ccc;
  }
  .rakuten_5m5 .cptarget > h2:after,
  .rakuten_5m5 .ponta > h2:after{
    right:1px;
    border-left:50px solid #fff;
  }

  .rakuten_5m5 .cptarget > h2 span,
  .rakuten_5m5 .ponta > h2 span{
    display: block;
    position: absolute;
    width: 100%;
    top: 50%;
    left:0;
    transform: translate(0, -50%);
    font-weight: bold;
    text-align: center;
    z-index: 2;
  }
  .rakuten_5m5 .cptarget > span:first-of-type{
    display:inline-block;
    vertical-align:middle;
    width:48%;
    text-align:center;
    padding:0.5em 1em 0.5em 0;
  }

  .rakuten_5m5 .ponta > span:first-of-type{
    display:inline-block;
    vertical-align:middle;
    font-size:15px;
    width:48%;
    text-align:left;
  }

  .rakuten_5m5 .cptarget > span:last-of-type,
  .rakuten_5m5 .ponta > span:last-of-type{
    display:inline-block;
    vertical-align:middle;
    width:38%;
    margin-left:7%;
    position:relative;
    padding-top:1em;
    padding-bottom:1em;
  }
  .rakuten_5m5 .cptarget > span:last-of-type a,
  .rakuten_5m5 .ponta > span:last-of-type a{
    width:100%;
    font-size:14px;
    line-height:3em;
    height:3em;
  }

  .rakuten_5m5 .cptarget > span:last-of-type a:first-of-type{
    margin-bottom:1.5em;
  }

  .rakuten_5m5 .ponta + div{
    background-color:#000;
    color:#fff;
    padding:1em 2em 1em 2em;
    margin:0 0 70px 0;
  }

  .rakuten_5m5 .ponta + div img{
    display:inline-block;
    width:120px;
    width:min(120px,22vw);
    vertical-align:middle;
  }

  .rakuten_5m5 .ponta + div p{
    width:calc(100% - 120px);
    width:calc(100% - min(120px,22vw));
    margin:0;
    padding:0 0 0 2em;
    padding:0 0 0 min(2em, 4vw);
    display:inline-block;
    vertical-align:middle;
    line-height:1.6em;
  }


/* STEP ------------------------ */
  #contents .rakuten_5m5 .dp_step li {
    margin: 0;
    padding: 10px 10px 16% 10px;
    position: relative;
    width: calc(100% / 4);
  }

  .rakuten_5m5 .dp_step li div:nth-child(2){
    padding:15px 5px 10px 5px;
  }
  #contents .rakuten_5m5 .dp_step li div:nth-child(1) span{
    padding: 10px 0;
    height:auto;
    line-height:16px;
  }
  #contents .rakuten_5m5 .dp_step li div:nth-child(1) span img{
    max-width:30%;
    max-height:initial;
    vertical-align:bottom;
  }

  .rakuten_5m5 .dp_step li > img{
    max-width:calc(100% - 20px);
  }


/* CP誘導 ------------------------ */

  .rakuten_5m5 .reserve_cp{
    padding:2% 1%;
    text-align:center;
    margin-bottom:50px;
  }
  .rakuten_5m5 .reserve_cp h2{
    margin:0;
  }
  #contents .rakuten_5m5 .reserve_cp h2 img{
    width:80%;
  }
  .rakuten_5m5 .reserve_cp ul{
    margin:0 0 2% 0;
  }
  .rakuten_5m5 .reserve_cp ul li{
    display:inline-block;
    width:47%;
    padding:1%;
  }
  .rakuten_5m5 .reserve_cp ul li:first-of-type{
    margin-right:6%;
    margin-bottom:0;
  }

  .rakuten_5m5 .reserve_cp ul li:first-of-type:after{
    width:19%;
    height:auto;
    padding-top:19%;
    position:absolute;
    top:50%;
    right:-16%;
    z-index:2;
    transform:translate(0,-60%);
  }

  .rakuten_5m5 .reserve_cp p{
    margin:1em auto 0 auto;
    line-height:1.5;
    color:#f00;
    text-align:center;
    background:#fff;
    padding:1% 2%;
    font-size:14px;
  }
  .rakuten_5m5 .reserve_cp a.go_scroll{ font-size: 22px; line-height: 1.6em; }


/* キャンペーン要項 ------------------------ */



  .rakuten_5m5 .dl_campaign-yoko dt {
    font-size:18px;
    line-height: 1.6em;
    margin: 0;
    padding-top: 0;
    padding-right: 0;
    padding-bottom: 5px;
  }
  #contents .rakuten_5m5 .dl_campaign-yoko dd{
    font-size:15px;
  }

  #contents .rakuten_5m5 .icon_mail a{
    max-width: 420px;
  }

/* 最下部バナーエリア ------------------------ */

  .rakuten_5m5 .bnr_area a{ width:49%; display:inline-block; }
  .rakuten_5m5 .bnr_area a:nth-of-type(even){ margin-top:0; margin-left:2%; }




/* display for pc */
  .rakuten_5m5 .sm-pc {
    display: inline !important;
  }

  .rakuten_5m5 .sm-sp {
    display: none !important;
  }
  .rakuten_5m5 .w_sp {
    width:100%;
  }
  .rakuten_5m5 .w_sp:last-of-type {
    padding-bottom:0;
    margin-bottom:0;
  }

  .rakuten_5m5 #bnr_head{
    font-size:24px;
  }

} /* min-width: 768px end */


@media only screen and (min-width: 768px) and (max-width: 990px) {
  .rakuten_5m5 .inner_wrap {
    max-width: initial;
    padding-left:2%;
    padding-right:2%;
    box-sizing:border-box;
  }
} /* min-width: 768px - max-width: 970px end */

@media only screen and (min-width: 991px) {
  .rakuten_5m5 .rakuten_5m5__hero {
    width: 1200px;
    margin:20px auto 0;
    max-width: 100%;
  }
} /* min-width: 990px end */


/* for PC end */




/* for Button change */

.button_area {
  padding-top: 1.11111111vw;
  padding-bottom: 1.11111111vw;
  background-color: #ffffff;
  width: 100%;
  margin: 9vw auto 5vw;
}
.button_area .fs-16 {
	text-align: left;
	margin-top: 1em;
}
.coi-cap-2_7 {
  margin: 2.111111111vw 0 0vw 0;
  text-align: center;
  color: #000000;
  padding-top: 3.111111111vw;
  background-color: #edf3fc;
  margin-top: 8.88888889vw;
  font-weight: bold
}
.coi-cap-2_8 {
  margin: 0vw 0 8.111111111vw 0;
  text-align: left;
  padding: 2.111111111vw 4.111111111vw 4.111111111vw 4.111111111vw;
  background-color: #edf3fc;
}
.coi-cap-2_9 {
  margin: 2.111111111vw 0 6.111111111vw 0;
  text-align: center;
}


.rakuten_5m5 a.btn-black{ color:#fff !important; }

.ico-au_debut5m5_step {
	padding-bottom: 40px;
}
.ico-au_debut5m5_step h2 {
	font-size: 25px;
	line-height: 1;
	margin-top: 55px;
}
.ico-au_debut5m5_step_wp {
	border: 1px solid #ccc;
	width: 100%;
	display: flex;
	flex-wrap: wrap;
	align-content: flex-start;
	align-items: flex-start;
	justify-content: space-between;
	margin-top: 30px;
}
.ico-au_debut5m5_step_c {
	width: 24%;
	max-width: 225px;
	padding-bottom: 30px;
}
.ico-au_debut5m5_step_c:first-child {
	margin-left: 7px;
}
.ico-au_debut5m5_step_c:last-child {
	margin-right: 7px;
}
.ico-au_debut5m5_step_cb {
	width: 2px;
	align-self: stretch;
	background-color: #ddd;
}
.ico-au_debut5m5_step h3 {
	line-height: 1;
	text-align: center;
	background-color: #ddd;
	font-size: 0;
	margin-top: 10px;
}
.ico-au_debut5m5_step h3 img {
	width: 76px;
	padding: 4px 0;
}
.ico-au_debut5m5_step_img {
	width: 90%;
	margin: 20px auto 0;
}
.ico-au_debut5m5_step_c p {
	text-align: left;
	margin-top: 25px;
	padding: 0 20px;
}
.rakuten_5m5 p.ico-au_debut5m5_step_imei {
	text-align: center;
	line-height: 2.58;
}
.ico-au_debut5m5_step_imei a {
	color: #fff;
	background-color: #488EE9;
	display: block;
	position: relative;
}
.ico-au_debut5m5_step_imei a:before {
	position: absolute;
	content: '>';
	color: #fff;
	top: 0;
	right: 1em;
}
.rakuten_5m5 .ico-au_debut5m5_step .fs-12.kk {
	text-align: left;
}



.rakuten_5m5 .ico-au_debut5m5_step .ico-au_debut5m5_step_nt {
	text-align: center;
	color: #488EE9;
	border: 1px solid #488EE9;
	line-height: 3;
	margin-top: 40px;
}


.ico-au_debut5m5_camp {
	width: 536px;
	margin: 50px auto 0;
}


.ico-au_debut5m5_rk {
	width: 600px;
	margin: 40px auto 0;
}
.ico-au_debut5m5_rk a {
	text-align: center;
	color: #fff;
	display: block;
	background-color: #FF008C;
	font-size: 24px;
	line-height: 1.15;
	padding: .9em 0;
	background-image: url("../img/rakuten.png");
	background-position: 5% center;
	background-repeat: no-repeat;
	background-size: 83px auto;
	position: relative;
}
.ico-au_debut5m5_rk a:before {
	position: absolute;
	content: '＞';
	color: #fff;
	top: 1.0em;
	right: 0.8em;
	font-size: 30px;
}
@media only screen and (max-width: 767px) {
	.ico-au_debut5m5_step h2 {
		font-size: 5.8vw;
		margin-top: 10vw;
	}
	.ico-au_debut5m5_step_wp {
		margin-top: 4vw;
		justify-content: center;
	}
	.ico-au_debut5m5_step_c {
		width: 97%;
		max-width: none;
		padding-bottom: 3.7vw;
		display: flex;
		flex-wrap: wrap;
		align-content: flex-start;
		align-items: flex-start;
		justify-content: space-between;
	}
	.ico-au_debut5m5_step_c:first-child {
		margin-left: 0;
	}
	.ico-au_debut5m5_step_cb {
		width: 100%;
		height: 1px;
	}
	.ico-au_debut5m5_step h3 {
		margin: 1.3vw 0 4.8vw;
		width: 100%;
	}
	.ico-au_debut5m5_step h3 img {
		width: 18%;
		padding: 2px 0;
	}
	.ico-au_debut5m5_step_img {
		width: 42%;
		margin: 0 0 0 4%;
		align-self: center;
	}
	.ico-au_debut5m5_step_t {
		align-self: center;
		width: 50%;
	}
	.ico-au_debut5m5_step_c p {
		margin-top: 0;
		padding: 0;
	}
	.rakuten_5m5 p.ico-au_debut5m5_step_imei {
		text-align: left;
		margin-top: .5em;
	}
	.ico-au_debut5m5_step_imei a {
		padding-left: .5em;
	}
	.ico-au_debut5m5_step_imei a::before {
		right: .5em;
	}
	.ico-au_debut5m5_step_c:last-child {
		margin-right: 0;
	}
	.rakuten_5m5 .ico-au_debut5m5_step .ico-au_debut5m5_step_nt {
		line-height: 1.43;
		margin-top: 8vw;
		font-size: 4.0vw;
		padding: .4em 0;
	}
	.ico-au_debut5m5_camp {
		width: 88%;
		margin: 10vw auto 0;
	}
	.ico-au_debut5m5_rk {
		width: 100%;
		margin: 3.7vw auto 0;
	}
	.ico-au_debut5m5_rk a {
		font-size: 4.8vw;
		line-height: 1.15;
		padding: .9em 0;
		background-position: 1.5% center;
		background-size: 23% auto;
	}
	
	.ico-au_debut5m5_rk a::before {
		content: '';
		width: 4.8vw;
		height: 4.8vw;
		right: 2%;
		background-image: url("../img/y.png");
		background-position: center top;
		background-repeat: no-repeat;
		background-size: 100% auto;
	}
	.rakuten_5m5 .kikan span:nth-child(2) {
		border-top: none;
	}
	
}



#modal-overlay {
	position: fixed;
	background-color: #000;
	opacity: .7;
	top: 0;
	width: 100%;
	height: 100%;
}
#MDL {
	width: 60%;
	height: 80vh;
	overflow-y: scroll;
	background-color: #fff;
	display: none;
	position: fixed;
	z-index: 2;
	padding-bottom: 50px;
	top: 100px;
}
#MDL .fs-22 {
	text-align: center;
	padding-top: 1em;
}
.modal-close + .fs-22 {
	padding: 0 !important;
	margin: 0 !important;
}
.ico-au_debut5m5_step_imei_img {
	width: 62%;
	margin: 20px auto 0;
}
.ico-au_debut5m5_step_imei_y {
	width: 32%;
	margin: 20px auto 0;
}
.ico-au_debut5m5_step_c p.modal-close {
	position: sticky;
	top: 10px;
	width: 10%;
	margin-top: 0;
	margin-left: 88%;
	padding: 0;
}
.ico-au_debut5m5_step_imei_in {
	position: relative;
}
@media only screen and (max-width: 767px) {
	#MDL {
		width: 90%;
		max-height: 100%;
		height: 75vh;
		padding-bottom: 10vw;
		top: 60px;
	}	
}




.ico-au_debut5m5_btn_link {
	text-align: center;
	font-size: 18px;
	font-weight: bold;
	margin-top: 1em;
	line-height: 3;
}
.ico-au_debut5m5_btn_link a {
	color: #000;
	padding: 1em 0;
}
.ico-au_debut5m5_btn_link span {
	background-image: url("../img/btn_link.png");
	background-position: center left;
	background-repeat: no-repeat;
	background-size: 50px auto;
	padding: 1em 0 1em 4em;
}
@media only screen and (max-width: 767px) {
	.ico-au_debut5m5_btn_link {
		font-size: 4.8vw;
	}
	.ico-au_debut5m5_btn_link span {
		background-size: 2.5em auto;
		padding: 1em 0 1em 3.5em;
	}	
}
.ico-au_debut5m5_kvb {
	text-align: left;
	margin-top: 1.2em;
}
.rakuten_5m5 .kk {
	font-weight: 400 !important;
}

/* ------------------------------------------------------------
  entry
------------------------------------------------------------ */
.rakuten_5m5_entry#contents .rakuten_5m5 h2.h-bg-r {
	background-color: #17151c;
	color: #fff;
}
@media only screen and (max-width: 767px) {
	.rakuten_5m5_entry#contents .rakuten_5m5 h2.h-bg-r {
		margin-bottom: 4vw;
	}
}
.rakuten_5m5_entry dl {
	border-bottom: 1px solid #000;
	margin-bottom: 20px;
	text-align: left;
}
.rakuten_5m5_entry dt {
	font-size: 16px;
	font-weight: normal;
	text-indent: -1.3em;
	line-height: 1.8;
	margin: 0 0 5px 1.3em;
}
.rakuten_5m5_entry dd {
	font-size: 14px;
	line-height: 1.6;
	margin-bottom: 25px;
	/*padding-left: 1.5em;*/
}
.rakuten_5m5_entry dd ul {
	list-style-type: none;
	padding: 0;
	margin: 0;
}
.rakuten_5m5_entry dd ul > li::before {
	display: inline-block;
	content: "・";
	text-align: center;
	text-indent: 0;
	width: 1em;
}
.rakuten_5m5_entry dd ul li {
	text-indent: -1em;
	margin-left: 1em;
}
.rakuten_5m5_entry dd ul li p {
	display: flex;
	width: 100%;
	justify-content: flex-start;
	text-indent: 0;
	flex-wrap: wrap;
}
.rakuten_5m5_entry dd ul li p span:first-child {
	width: 35%;
}
.rakuten_5m5_entry dd ul li p.rakuten_5m5_entry_fl span:first-child {
	width: 100%;
}
.rakuten_5m5_entry dd ul li p.rakuten_5m5_entry_fl span:nth-child(2) {
	margin-left: 35%;
}


.rakuten_5m5_entry dd ol {
	margin: 0;
	padding: 0 0 0 1.75em;
	list-style-type: decimal;
}
.rakuten_5m5_entry dd olli {
	display: list-item;
	text-align: -webkit-match-parent;
}
.rakuten_5m5_entry label {
	display: inline-block;
	margin-bottom: 5px;
	font-weight: 700;
	font-size: 20px;
}
.ind1 {
	padding-left: 1em;
}
.rakuten_5m5_entry .str {
	font-weight: bold !important;
}
.rakuten_5m5_entry .w_s a {
	text-decoration: underline;
}
.rakuten_5m5_entry h3 {
	text-align: left;
	font-size: 22px;
	line-height: 2;
}

.rakuten_5m5_entry input[type="button"] {
	background: #ff0085;
}

@media only screen and (max-width: 767px) {
	.rakuten_5m5_entry dt {
		font-size: 4.444444444vw;
		line-height: 6.111111111vw;
	}
	.rakuten_5m5_entry dd {
		font-size: 3.888888889vw;
		line-height: 1.5;
	}
}

.rakuten_5m5 .close_txt {
	font-size:125%;
	padding-left:0.5em;
	padding-right:0.5em;
}
@media only screen and (max-width: 767px) {
	.rakuten_5m5 .close_txt {
		font-size:3.6vw;
	}
}


.rakuten_5m5 .close_txt {
	font-size:125%;
	padding-left:0.5em;
	padding-right:0.5em;
	margin: 2em 0;
}
@media only screen and (max-width: 767px) {
	.rakuten_5m5 .close_txt {
		font-size:3.6vw;
	}
}