@charset "UTF-8";

/* default */
.clearfix:after {
  content: ".";
  display: block;
  height: 0;
  clear: both;
  visibility: hidden;
}

h1 {
  position: absolute;
  top: 56px;
  left: 16px;
  z-index: 1;
}

div.allCampaignBlock a:hover,
.groupBox a:hover {
  text-decoration: underline;
}
.groupBox a {
  text-decoration: none;
}
a.linkReset {
  color: #363636;
  text-decoration: none;
}
/* animation */

.bounce {
  animation: bounce 2s ease infinite;
  -webkit-animation: bounce 2s ease infinite;
  -moz-animation: bounce 2s ease infinite;
}
@keyframes bounce {
  0%, 100%, 40%, 8%, 21.2%, 32% {
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    -moz-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    transform: translate3d(0, 0, 0);
    -webkit-transform: translate3d(0, 0, 0);
    -moz-transform: translate3d(0, 0, 0);
  }
  16%, 17.2% {
    animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    -moz-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    transform: translate3d(0, -15px, 0);
    -webkit-transform: translate3d(0, -15px, 0);
    -moz-transform: translate3d(0, -15px, 0);
  }
  28% {
    animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    -moz-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    transform: translate3d(0, -7.5px, 0);
    -webkit-transform: translate3d(0, -7.5px, 0);
    -moz-transform: translate3d(0, -7.5px, 0);
  }
  36% {
    transform: translate3d(0, -2px, 0);
    -webkit-transform: translate3d(0, -2px, 0);
    -moz-transform: translate3d(0, -2px, 0);
  }
}
@-webkit-keyframes bounce {
  0%, 100%, 40%, 8%, 21.2%, 32% {
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    -moz-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    transform: translate3d(0, 0, 0);
    -webkit-transform: translate3d(0, 0, 0);
    -moz-transform: translate3d(0, 0, 0);
  }
  16%, 17.2% {
    animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    -moz-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    transform: translate3d(0, -15px, 0);
    -webkit-transform: translate3d(0, -15px, 0);
    -moz-transform: translate3d(0, -15px, 0);
  }
  28% {
    animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    -moz-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    transform: translate3d(0, -7.5px, 0);
    -webkit-transform: translate3d(0, -7.5px, 0);
    -moz-transform: translate3d(0, -7.5px, 0);
  }
  36% {
    transform: translate3d(0, -2px, 0);
    -webkit-transform: translate3d(0, -2px, 0);
    -moz-transform: translate3d(0, -2px, 0);
  }
}

/* animation Fixed button Entry added 201701 */

@-moz-keyframes bounce {
0%, 100%, 40%, 8%, 21.2%, 32% {
animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
-webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
-moz-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
transform: translate3d(0, 0, 0);
-webkit-transform: translate3d(0, 0, 0);
-moz-transform: translate3d(0, 0, 0);
}
16%, 17.2% {
animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
-webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
-moz-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
transform: translate3d(0, -15px, 0);
-webkit-transform: translate3d(0, -15px, 0);
-moz-transform: translate3d(0, -15px, 0);
}
28% {
animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
-webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
-moz-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
transform: translate3d(0, -7.5px, 0);
-webkit-transform: translate3d(0, -7.5px, 0);
-moz-transform: translate3d(0, -7.5px, 0);
}
36% {
transform: translate3d(0, -2px, 0);
-webkit-transform: translate3d(0, -2px, 0);
-moz-transform: translate3d(0, -2px, 0);
}
}

/* tab.js */

.tabBtn {
  position: relative;
  top: 1px;
  float: left;
  width: 205px;
  margin: 0 5px 0 0;
  background: #ededed;
  transition: background .2s linear;
  -webkit-transition: background .2s linear;
  -moz-transition: background .2s linear;
  overflow: hidden;
}
.tabBtn:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 5px;
  background: #d6d6d6;
  -webkit-transition: -webkit-transform .3s;
  transition: -webkit-transform .3s;
  transition: transform .3s;
  transition: transform .3s, -webkit-transform .3s;
  -webkit-transition: transform .3s;
  -moz-transition: transform .3s;
  transform: translateY(-5px);
  -webkit-transform: translateY(-5px);
  -moz-transform: translateY(-5px);
  -ms-transform: translateY(-5px);
}
.tabBtn:not(.tabBtn--current):hover:before {
  transform: translateY(0px);
  -webkit-transform: translateY(0px);
  -moz-transform: translateY(0px);
  -ms-transform: translateY(0px);
}
.tabBtn:after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 5px;
  -webkit-transition: -webkit-transform .3s;
  transition: -webkit-transform .3s;
  transition: transform .3s;
  transition: transform .3s, -webkit-transform .3s;
  -webkit-transition: transform .3s;
  -moz-transition: transform .3s;
  transform: translateY(-5px);
  -webkit-transform: translateY(-5px);
  -moz-transform: translateY(-5px);
  -ms-transform: translateY(-5px);
}
.tabBtn--current {
  background: white;
  z-index: 1;
}
.tabBtn--current:after {
  background: #bf0000 !important;
  transform: translateY(0px);
  -webkit-transform: translateY(0px);
  -moz-transform: translateY(0px);
  -ms-transform: translateY(0px);
}
.tabBtn--current a {
  border-right: 1px solid #cccccc;
  border-left: 1px solid #cccccc;
}
.tab-content {
  position: relative;
  display: none;
}
.tab-content--current {
  display: block;
}
.allCampaignBlock {
  margin: 0 0 15px;
  font-size: 14px;
  font-family: arial, helvetica, 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ Pro W3', 'Meiryo', 'メイリオ', 'Osaka', 'MS PGothic', sans-serif;
}
.campaignTab {
  position: relative;
}
.campaignTab__content--right {
  position: absolute;
  right: 0;
  bottom: 4px;
}
a.campaignTab__content--right__content {
  color: #1376b7;
}
.campaignTab__content--right__content__img {
  margin: 0 4px 1px 0;
}
.campaignTab__content__items:last-child {
  margin-right: 0;
}
.campaignTab__content__items__item {
  display: block;
  padding: 10px 0;
  text-align: center;
}
a.campaignTab__content__items__item {
  text-decoration: none !important;
}
.category {
  border-top: 1px solid #cccccc;
  border-right: 1px solid #cccccc;
  border-left: 1px solid #cccccc;
}
.category__content {
  padding: 30px 10px 20px;
}
.category__content__heading {
  margin: 0 0 10px;
}
.category__content__heading__content {
  background: url(https://image.card.jp.rakuten-static.com/r-enavi/WebImages/enavi/campaign/arrow.gif) no-repeat;
  background-position: left center;
  padding: 0 0 0 10px;
}
.category__content__items {
  float: left;
  margin: 0 3px 0 0;
  text-align: center;
}
.category__content__items--last {
  margin-right: 0;
}
.category__content__items__item {
  display: block;
  position: relative;
  width: 130px;
  height: 100px;
}
.category__content__items__item__img {
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
  -ms-filter: "alpha(opacity=0)";
}
.category__content__items__item__img--n {
  -webkit-transition: all .3s;
  transition: all .3s;
  opacity: 1;
  -ms-filter: "alpha(opacity=100)";
}
.category__content__items__item:hover .category__content__items__item__img--n {
  opacity: 0;
  -ms-filter: "alpha(opacity=0)";
}
.category__content__items__item__img--h {
  -webkit-transition: all .3s;
  transition: all .3s;
  opacity: 1;
  -ms-filter: "alpha(opacity=100)";
}
.category__content__items__item:hover .category__content__items__item__img--h {
  opacity: 1;
  -ms-filter: "alpha(opacity=100)";
}
.category__content__items__item.js-filterTag--current .category__content__items__item__img--h,
.category__content__items__item.js-filterTag--current .category__content__items__item__img--n {
  -webkit-transition: all .3s;
  transition: all .3s;
  opacity: 0;
  -ms-filter: "alpha(opacity=0)";
}
.category__content__items__item__img--o {
  -webkit-transition: all .3s;
  transition: all .3s;
  opacity: 0;
  -ms-filter: "alpha(opacity=0)";
}
.category__content__items__item.js-filterTag--current .category__content__items__item__img--o {
  opacity: 1;
  -ms-filter: "alpha(opacity=100)";
}
.campaignList {
  position: relative;
  border-right: 1px solid #cccccc;
  border-left: 1px solid #cccccc;
  border-bottom: 1px solid #cccccc;
}
.campaignList__items {
  padding: 10px;
  border-top: 1px solid #cccccc;
}
.campaignList__items--recommend {
  background: lightyellow;
}
.campaignList__items--check {
  background: url(https://image.card.jp.rakuten-static.com/r-enavi/WebImages/enavi/campaign/icn-priority_check.gif) no-repeat right top;
}
.campaignContent {
  position: relative;
}
.campaignContent--bonusmailcheck {
  background: url(https://image.card.jp.rakuten-static.com/r-enavi/WebImages/enavi/campaign/icn-bonusmailcheck.gif) no-repeat right top;
}
.campaignContent__imgBlock {
  float: left;
}
.campaignContent__imgBlock__link {
  transition: all .3s;
  -webkit-transition: all .3s;
  -moz-transition: all .3s;
}
.campaignContent__imgBlock__link:hover,
.isHover .campaignContent__imgBlock__link {
  opacity: 0.8;
  -ms-filter: "alpha(opacity=80)";
}
.campaignContent__imgBlock__property {
  margin: 0;
  text-align: left;
}
.campaignContent__txtBlock {
  float: left;
  width: 508px;
  margin: 0 0 0 20px;
}
.campaignContent__txtBlock__state {
  margin: 0 0 5px;
}
.campaignContent__txtBlock__state__imgBlock {
  float: left;
  margin: 0 5px 0 0;
}
.campaignContent__txtBlock__state__imgBlock:last-child {
  margin-right: 0;
}
.campaignContent__txtBlock__heading {
  display: inline-block;
  margin: 5px 0 5px;
  font-size: 18px;
  font-weight: bold;
}
a.campaignContent__txtBlock__heading {
  color: #1376b7;
  text-decoration: none;
}
.isHover a.campaignContent__txtBlock__heading {
  text-decoration: underline;
}
.campaignContent__txtBlock__content__heading {
  background: white;
  white-space: nowrap;
  vertical-align: top;
}
.campaignContent__txtBlock__lead {
  margin: 0 0 10px;
  font-size: 14px;
}
.campaignContent__txtBlock__date {
  font-size: 12px;
  color: #a0a0a0;
  margin-bottom: 25px;
  padding-bottom: 5px;
}
.campaignContent__txtBlock__date::after {
  color: #363636;
  display: block;
  content: "\7279\5178\306B\306F\4E0A\9650\3084\6761\4EF6\304C\3042\308B\5834\5408\304C\3042\308A\3001\9032\5448\306B\306F\6761\4EF6\9054\6210\304C\5FC5\8981\3067\3059\3002"
}

.campaignContent__txtBlock__data {
  position: absolute;
  bottom: 0;
}
.campaignContent__txtBlock__data__tag {
  float: left;
  margin: 0 15px 0 0;
}
.campaignContent__txtBlock__data__tag:nth-child(5) {
    display: none;
}
.campaignContent__txtBlock__data__tag:nth-child(6) {
    display: none;
}
.campaignContent__txtBlock__data__tag:last-child {
    margin-right: 0;
}
.campaignContent__btnBlock {
  position: absolute;
  right: 0;
  bottom: 0;
}
.campaignContent__btnBlock__code {
  text-align: center;
  font-size: 12px;
  color: #a0a0a0;
}
.campaignContent__btnBlock__btn {
  transition: all .3s;
  -webkit-transition: all .3s;
  -moz-transition: all .3s;
}
.campaignContent__btnBlock__btn:hover,
.isHover .campaignContent__btnBlock__btn {
  opacity: 0.8;
  -ms-filter: "alpha(opacity=80)";
}
.lead {
  padding: 10px;
  border-top: 1px solid #cccccc;
  border-right: 1px solid #cccccc;
  border-left: 1px solid #cccccc;
}
.lead__content {
  padding: 10px 15px;
  background: #e7e7e7;
}

/* bonusmail */
.campaignList__items--pinned{
  position: relative;
}

.campaignList__items--pinned:before {
  content: "";
  display: block;
  z-index: 1;
  width: 40px;
  height: 40px;
  position: absolute;
  top: 0;
  right: 0;
  background: url(https://image.card.jp.rakuten-static.com/r-enavi/WebImages/enavi/campaign/icn-pin.gif) no-repeat top right;
  background-size: 40px 40px;
  -webkit-background-size: 40px 40px;
}

.campaignList__items--pinned .campaignContent__txtBlock {
  width: 528px;
}

.campaignContent__counterBlock {
  position: absolute;
  bottom: 60px;
  right: 0;
  width: 180px;
  text-align: center;
  border-top-left-radius: 10px;
  border-top-right-radius: 10px;
  border: 5px solid #fc911f;
}
.campaignContent__counterBlock__ttl {
  padding: 5px;
  color: white;
  font-weight: bold;
  background-color: #fc911f;
}
.campaignContent__counterBlock__count {
  padding: 0 5px;
  color: #d8251e;
  font-size: 40px;
  font-weight: bold;
}
.campaignContent__counterBlock__clear {
  display: block;
  padding: 10px 5px
            ;
  color: #d8251e;
  font-size: 18px;
  font-weight: bold;
}



/* component */

.isBlock {
  display: block;
}
.isNone {
  display: none;
}
.mb5 {
  margin-bottom: 5px;
}
.mb15 {
  margin-bottom: 15px;
}
.fCR {
  color: #bf0000;
}

/* mod_contents.cssに記載あったのをいったん、移植。by菊池  */
.entryState {
    float: left;
}
/* topicPath-bock */
.topicPath-block {
    position: relative;
    background: url("https://image.card.jp.rakuten-static.com/r-enavi/WebImages/enavi/common/back_dot01.gif") repeat-x left bottom;
}

.topicPath-block + div {
  padding: 91px 16px 16px;
  background-color: white;
  box-shadow: 0px 0px 5px -1px rgba(50,50,50,0.3);
}


.topicPath-content {
    float: left;
}
.topicPath {
    margin: 0 0 20px;
}
/* cardInfo */
.cardInfo01 {
    padding: 5px 10px;
    float: right;
    background: #f8f8f8;
    border: 1px solid #cccccc;
}
.cardInfo01 > div {
    float: left;
    margin-right: 10px;
}
.cardInfo01 > div:last-child {
    margin-right: 0;
}
.cardInfo01_form_type {
    padding-top: 6px;
}
.cardInfo01_form_cardNumber {
}
.cardInfo01_form form {
    margin: 5px 0 0;
    cursor: pointer;
}
.cardInfo01_form select {
    cursor: pointer;
}
.cardInfo01_state {
    padding: 8px;
    text-align: center;
    color: #fff;
}
.cardInfo01_state--double {
    padding: 4px 8px;
}
.cardInfo01_state--business {
    background: #BFA460;
}
.cardInfo01_state--family {
    background: #698dbf;
}
.cardInfo01_state--disable {
    margin-bottom: 2px;
    background: #a6a6a6;
}
.sns {
    float: left;
}
.sns_lists li {
    margin: 0 5px 0 0;
    float: left;
}
.sns_list--last {
    margin-right: 0 !important;
}
.campaignCode-block {
    float: right;
}
.campaignCode01 {
    margin: 0 10px 0 0;
    float: left;
    line-height: 20px;
}


/* カルーセル用　groupservice.css注意 */
div.groupSlider1 ul li,
div.groupSlider2 ul li {
  width: 173px;
}
#top div.groupSlider1 ul li > p,
#mainCol div.groupSlider1 ul li > p,
#mainCol div.groupSlider2 ul li > p {
  width: 173px;
}
/* ワイド化に伴うキャンペーン調整用 */
#entryForm{
    width:740px;
    margin:0 auto;
}
#entryForm p {
    margin-bottom: 10px;
    line-height: 1.45;
}
#entryForm *.margin03{
    margin-bottom:15px;
}

#entryForm ul ul,#entryForm ul ol,#entryForm ul dl,#entryForm ol ul,#entryForm ol ol,#entryForm ol dl,#entryForm dl ul,#entryForm dl ol,#entryForm dl dl {
    margin:3px 0 0 0;
}

/*Fixed button Entry added 201701*/
#wrap.fixedBtnPage {
  padding-bottom: 90px;
}

.fixedBtn {
  position: fixed;
  left: 0;
  bottom: 0;
  width: 100%;
  padding: 20px 0;
  border-top: 1px solid #e1e1e1;
  background-color: white;
  background-color: rgba(255, 255, 255, 0.93);
  text-align: center;
  z-index: 200;
  box-shadow: 0 -4px 8px rgba(0, 0, 0, 0.15);
  animation: showFixedBtn .8s forwards;
  -webkit-animation: showFixedBtn .8s forwards;
  -moz-animation: showFixedBtn .8s forwards;
}

@keyframes showFixedBtn {
  from {
    transform: translateY(103%);
  }
  to {
    transform: translateY(0);
  }
}

-webkit-@keyframes showFixedBtn {
  from {
    transform: translateY(103%);
  }
  to {
    transform: translateY(0);
  }
}

-moz-@keyframes showFixedBtn {
  from {
    transform: translateY(103%);
  }
  to {
    transform: translateY(0);
  }
}

/*<詳細＆エントリーはこちらから>追加*/
.btn_cam_anchor_entry {
    background: url("https://image.card.jp.rakuten-static.com/r-enavi/WebImages/enavi/campaign/btn_cam_anchor_entry.jpg") no-repeat;
  background-position: center top
}


.btn_cam_anchor_entry a {
    width: 608px;
    height: 60px;
    background: url("https://image.card.jp.rakuten-static.com/r-enavi/WebImages/enavi/campaign/btn_cam_anchor_entry.jpg") no-repeat;
    display: block;
}

.btn_cam_anchor_entry a:hover {
    background-image: url("https://image.card.jp.rakuten-static.com/r-enavi/WebImages/enavi/campaign/btn_cam_anchor_entry_h.jpg");
}

/*<詳細＆エントリーはこちらから>追加*/

/*20180502動画スキップ防止策追加*/

.no_skip20180502 .vjs-progress-holder,
.no_skip20180502 .vjs-slider {
    display: none;
}

/*看板サイズ変更_otaki*/
.imgsize_950_PC{
    width: 950px;
    margin-left: -105px;
}
/*看板サイズ変更_otaki*/

/* PC_CPN_STEP_otaki*/
.cpn_title{
    margin-top: 30px;
    background: #ededed;
    border-left:  0.175em solid #333;
    padding: 0.5em 0.85em;
    font-weight: bold;
    font-size: 16px;
    margin-bottom: 10px;
}

.cpn_step_area{
    float: left;
    clear: left;
    margin-bottom: 10px;
    margin-right: 20px;

}

.cpn_step_stepbox{
    border: solid #bf0000 2px;
    width: 60px;
    text-align: center;
    color: #bf0000;
    font-size: 15px;
    display: inline-block;
    padding: 4px 0;
}

.cpn_step_getbox{
    background-color: #bf0000;
    width: 64px;
    text-align: center;
    color: #ffffff;
    padding: 6px 0;
    font-size: 15px;
    display: inline-block;
}

.cpn_step_txt{
    margin-bottom: 20px;
    min-height: 25px;
    padding-top: 4px;
    font-size: 20px;
}


/* PC_CPN_STEP_otaki*/



/* キャンペーン 調整 */
#lowerLayer #contentsArea {
  margin-top: 40px;
  padding: 2rem 1.6rem 1.6rem;
  background-color: white;
  box-shadow: 0px 0px 0.5em -0.1em rgba(50,50,50,0.3);
}

#lowerLayer #contentsArea .topicPath {
  position: absolute;
  top: -60px;
  left: 0;
}

#lowerLayer #contentsArea h1 {
  top: 0;
  left: 0;
}

#lowerLayer #contentsArea h1 img {
  width: auto;
  height: auto;
}

#lowerLayer #contentsArea .clearfix.mb20 {
  margin-top: 90px;
}

#lowerLayer .topicPath-block + div {
  padding: 0;
  background-color: none;
  box-shadow: none;
}

#lowerLayer #contentsArea .topicPath-block .cardInfo01 {
  float: none;
  position: absolute;
  right: 0;
  top: 0;
}

#lowerLayer #contentsArea #entryForm {
  margin-bottom: 30px;
}

#memberService #contentsArea .topicPath-block .cardInfo01 {
  float: none;
  position: absolute;
  right: 16px;
  top: 55px;
}

#memberService .topicPath-block + div {
  padding-top: 8rem;
}

/* キャンペーンへのエントリー・照会 */
#memberService #contentsArea .topicPath-block {
  background: none;
}

/* adaptation for concrete5 */

#c5-container {
  margin: 0 -126px;
}

.c5-cpn-detaillink--pc a {
  font-size: 20px;
}

.c5-cpn-h2 h2 {
  position: relative;
  background-color: #ebebeb;
  font-weight: bold;
  text-align: center;
  border: initial;
  color: #4d4d4d;
  font-size: 30px;
  overflow: unset;
  border-bottom: 0;
  padding: 8px;
  margin-top: 40px;
  margin-bottom: 32px;
}

.c5-cpn-h2 h2:before {
  content: '';
  position: absolute;
  display: block;
  width: 0;
  height: 0;
  left: 0;
  right: 0;
  bottom: -15px;
  margin: 0 auto;
  border-top: 15px solid #ebebeb;
  border-right: 15px solid transparent;
  border-left: 15px solid transparent;
}

.c5-cpn-h3 {
  font-size: 24px;
  border-bottom: 1px solid #ebebeb;
  width: 60%;
  margin: 40px auto 24px;
  padding-bottom: 8px;
  line-height: 1.5;
}
/* kanban modules */
/* .c5-cpn-kanban {} */

/* .c5-cpn-kanban--pc {
  width: 950px;
  margin-left: -105px;
  margin-right: -105px;
} */

/* .c5-cpn-kanban--sp {} */

.c5-cpn-kanban--pc .c5-cpn-kanban__img {
  max-width: 100%;
  height: auto;
}

.c5-cpn-kanban--sp .c5-cpn-kanban__img {
  max-width: 700px;
  height: auto;
}

/* .c5-cpn-kanban__img {} */

.c5-cpn-kanban__date {
  margin: 10px 0;
  text-align: center;
  font-weight: bold;
  font-size: 20px;
}

.c5-cpn-detaillink {
  margin: 20px 0;
  text-align: center;
}

.c5-cpn-detaillink--pc a {
  /*text-decoration: none;*/
  font-weight: bold;
  font-size: 14.3px;
}

/* .c5-cpn-detaillink--sp {} */

/* .c5-cpn-text {} */

* + .c5-cpn-text {
  margin-top: 10px;
}

.c5-cpn-linklist li + li {
  margin-top: 5px;
}

.ccm-layout-row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

/* other modules */

.c5-cpn-stackimage > * {
  display: block;
  margin-right: auto;
  margin-left: auto;
}

.c5-cpn-stackimage--row {
  -webkit-display: flex;
     -moz-display: flex;
      -ms-display: flex;
       -o-display: flex;
          display: flex;

  -webkit-box-pack: center;
      -ms-flex-pack: center;

  -webkit-justify-content: center;
     -moz-justify-content: center;
      -ms-justify-content: center;
       -o-justify-content: center;
  justify-content: center;
}

* + .c5-cpn-stackimage--row {
  margin-top: 25px;
}

.c5-cpn-stackimage--row > * {
  margin-right: 0;
  margin-left: 0;
}

.c5-cpn-stackimage--continue {
  margin-top: 0;
}

.c5-cpn-stackimage--continue + .c5-cpn-stackimage,
.c5-cpn-stackimage--continue + .c5-cpn-stackimage--row {
  margin-top: 0;
}

/* c5-cpn-step */

/* .c5-cpn-step {} */

.c5-cpn-step + .c5-cpn-step {
  margin-top: 10px;
}

/* .c5-cpn-step-list {} */

.c5-cpn-step-list:after {
  clear: both;
}

.c5-cpn-step-list:before,
.c5-cpn-step-list:after {
  content: "";
  display: table;
}

.c5-cpn-step-list__ttl {
  float: left;
  width: 6em;
}

.c5-cpn-step-list__desc {
  padding-left: 6.3em;
  font-weight: bold;
  font-size: 112.5%;
}

/* .c5-cpn-hide-sp {} */

/* c5 WYSIWYG style
// ----------------------------------------*/
.c5-wysiwyg a,
#tinymce a {
  color: #006a9e;
}
.rakuten-keyColor01 {
  color: #bf0000;
}
.rakuten-keyColor02 {
  color: #8296aa;
}
.rakuten-keyColor03 {
  color: #f0d296;
}
.c5-wysiwyg ul,
.c5-wysiwyg ol {
    margin-left: 15px;
    margin-bottom: 20px;
    list-style-position: outside;
}

.c5-wysiwyg ul {
    list-style: disc;
}

.c5-wysiwyg ol {
    list-style: decimal;
}

.c5-wysiwyg ul li,
.c5-wysiwyg ol li {
    margin-left: 10px;
    margin-bottom: 10px;
}

/* /adaptation for concrete5 */

#c5-container .rce-js-accordion {
  cursor: pointer;
  display: flex;
  justify-content: center;
  align-items: center;
}

#c5-container .rce-js-accordion img {
  max-width: 100%;
}

#c5-container .rce-js-accordion-target {
  display: flex;
  justify-content: center;
  align-items: center;
}

#c5-container .rce-js-accordion-target img {
  max-width: 100%;
}



.c5-cpn-kanban__date-txt::after {
  content: '：';
}

.c5-wysiwyg a[target="_blank"] {
  padding-right: 15px;
  background: url("https://image.card.jp.rakuten-static.com/r-enavi/WebImages/enavi/common/icn_blank.gif") right 0px center no-repeat;
  color: #0055ac;
}

.c5-wysiwyg a:visited {
  color: #551a8b;
}

.c5-wysiwyg a:hover {
  color: #bf0000;
}

.c5-text-small {
  font-size: 12px;
}

.c5-text-large {
  font-size: 18px;
}

.c5-cpn-stackimage {
  display: flex;
  align-items: center;
  justify-content: center;
}


/* show and hide */

.c5-cpn-show-sp {
  display: none;
}

#c5-container img {
  vertical-align: top;
}

.c5-wysiwyg__attention {
  padding: 16px !important;
  margin: 0 0 16px;
  background-color: #ffecdd;
  border: 1px solid #fbdac1;
  border-radius: 4px;
}

.c5-wysiwyg__attention-ttl {
  color: #954200;
}

.c5-wysiwyg__attention-ttl::before {
  content: "\F1BE";
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  position: relative;
  top: 2px;
  display: inline-block;
  font: normal 1em rex-icon;
  margin-right: 5px;
}

.c5-wysiwyg__attention-txt a[target="_blank"] {
  padding-right: 15px;
  background: url(https://image.card.jp.rakuten-static.com/r-enavi/WebImages/enavi/common/icn_blank.gif) right 0px center no-repeat !important;
  color: #0055ac;
}

.c5-wysiwyg__attention-txt a:visited {
  color: #551a8b;
}

.c5-wysiwyg__attention-txt a:hover {
  color: #bf0000;
}

.c5-cpn-stackimage > * {
  display: initial!important;
  margin: initial!important;
}

/* 191108 campaignlist questionnaire */

.cpnlist_questionnaire{
  background: #d9f2ff;
  border: 1px solid #c1e6fa;
  box-sizing: border-box;
  border-radius: 4px;
  margin: 0 8px 8px 8px;
  padding: 10px 16px 12px;
  text-align: left;
  width: 860px;
}

.cpnlist_questionnaire__link{
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-box-align: center;
-webkit-align-items: center;
-ms-flex-align: center;
align-items: center;
color: #006a9e!important;
font-size: 14px;
}

.cpnlist_questionnaire__link:visited{
  color: #006a9e!important;
}

.cpnlist_questionnaire__link:before{
  content: url(https://image.card.jp.rakuten-static.com/r-enavi/WebImages/enavi/statement/sp/rexicon-32-sign-info-l.svg);
  display: inline-block;
  width: 14px;
  height: 14px;
  margin-right: 8px
}

/* 191108 campaignlist questionnaire */

/* 20200212 Start */
#lowerLayer .topicPath-block + div {
  margin-top: 60px;
}

#lowerLayer .topicPath-block + div img[src$="img_chart_02_02.gif"] {
  display: block;
  margin: 0 auto;
}
/* 20200212 End */

/* Campaign Fixed Entry Button */
.fixedBtn {
  bottom: -200px;
}

.fixedBtn--show {
  bottom: 0;
  transition: bottom 1s;
}

.rce-scrollUp--fixedBtn,
.rce-scrollDown--fixedBtn {
  margin-bottom: 130px;
}
/* /Campaign Fixed Entry Button */

/* Campaign template improvement */
.mb-1 {
  margin-bottom: 8px;
}
.mb-2 {
  margin-bottom: 16px!important;
}

.mb-3 {
  margin-bottom: 24px!important;
}
.mb-4 {
  margin-bottom: 32px!important;
}
.mb-5 {
  margin-bottom: 40px!important;
}

.mb-8 {
  margin-bottom: 64px!important;
}

.mb-10 {
  margin-bottom: 80px!important;
}

.tCenter.margin03.new-cpn {
  margin: 0 -126px;
}

.new-cpn-date {
  text-align: center;
  font-size: 20px;
  font-weight: bold;
  margin: 16px 0!important;
}

.new-cpn-Ttxt {
  font-size: 12px;
  text-align: left;
  margin-bottom: 16px!important;
}

.new-cpn-detaillink_PC {
  font-size: 18px;
  font-weight: bold;
  margin-bottom: 16px;
}

.new-cpn-detaillink_SP {
  display: none;
}

.new-cpn-DetailLink {
  font-size: 12px;
  font-weight: bold;
  color: #0085c7!important;
}

.new-cpn-contents {
  margin-bottom: 80px;
}


h2.new-cpn-title {
  display: flex;
  position: relative;
  align-items: center;
  justify-content: center;
  padding: 8px 0;
  color: #555;
  font-size: 30px;
  background: #ebebeb;
  margin-bottom: 30px;
  line-height: 1.5;
}

.new-cpn-title:before {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  margin-left: -15px;
  border: 15px solid transparent;
  border-top: 15px solid #ebebeb;
}

h3.new-cpn-title_sub {
  font-size: 24px;
  border-bottom: 1px solid #ebebeb;
  width: 60%;
  margin: 40px auto 24px;
  padding-bottom: 8px;
  line-height: 1.5;
}


.new-cpn-step {
  display: flex;
  justify-content: space-between;
  margin-bottom: 8px;
}

.new-cpn-contents_img {
  display: flex;
}

.new-cpn-contents_img img {
  width: 100%;
}

.new-cpn-btn {
  display: inline-block;
  border: 1px solid #e93030;
  border-radius: 4px;
}

.new-cpn-btn a {
  display: inline-block;
  padding: 14px;
  color: #e93030!important;
  text-decoration: none;
}

.new-cpn-btn_blank a:after {
  display: inline-block;
  content: "";
  background: url(https://image.card.jp.rakuten-static.com/r-enavi/WebImages/enavi/common/icon/icon-new-window-outline.svg);
  width: 16px;
  height: 16px;
  margin-left: 8px;
}

/* Campaign template improvement */

/* Cookie banner */
.campaign-guide-wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  padding-bottom: 40px;
}

.campaignContent-xloBanner {
  margin-top: 1px;
  text-align: center;
}

.xloBanner-wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.js-xloBanner-wrapper,
.js-xloDefaultBanner {
  display: none;
}

.js-xloDefaultBanner[data-display="show"],
.js-xloBanner-wrapper[data-display="show"] {
  display: block;
}

.js-xloBanner-wrapper[data-display="show"][data-vertical="true"] {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.xloBanner-wrapper.carousel .slick-list {
  padding: 0 !important;
  margin-right: 8px;
  width: 200px;
}

.xloBanner-wrapper .campaignContent__imgBlock__link {
  display: inline-block;
}
/* Cookie banner */

/* slick dots */
.xloBanner-wrapper.carousel.slick-vertical .slick-dots {
  list-style: none;
  display: -webkit-box;
      display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}

.xloBanner-wrapper.carousel.slick-vertical .slick-dots li {
  position: relative;
  height: 8px;
  width: 8px;
  margin: 5px 0;
  cursor: pointer;
}

.xloBanner-wrapper.carousel .slick-dots li button {
  border: 0;
  display: block;
  outline: 0;
  line-height: 0;
  font-size: 0;
  color: rgba(0,0,0,0);
  padding: 0;
  cursor: pointer;
}

.xloBanner-wrapper.carousel .slick-dots li button:before {
  position: absolute;
  width: 8px;
  height: 8px;
  content: "";
  background-color: #b6b6b6;
  border-radius: 50%;
}

.xloBanner-wrapper.carousel .slick-dots li.slick-active button:before {
  background-color:#e93030;
}

/* pile up animation */
.xloBanner-wrapper:hover {
  opacity: 0.8;
  -ms-filter: "alpha(opacity=80)";
}

.pileUpSlides {
  position: relative;
  width: 200px;
  height: 141px;
  z-index: 0;
}

.pileUpSlide {
  position: absolute;
  top: 0px;
}

.js-slide-animation {
  opacity: 0;
  animation-name: slide-fade-in;
  animation-duration: 2s;
  animation-fill-mode: forwards;
}

@keyframes slide-fade-in {
  0% {
    opacity: 1;
    transform: translateY(100px);
  }

  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

/* 齋藤追加 AIO CPNテンプレート用*/
.aio__campagin__button {
  font-size: 20px;
  padding:10px 32px;
  border-radius: 25px;
  text-decoration: none!important;
  display: inline-block;
  font-weight: bold;
  -webkit-box-shadow: 3px 3px 3px rgba(0,0,0,0.3);
          box-shadow: 3px 3px 3px rgba(0,0,0,0.3);
}

.aio__campagin__button_2colum {
  font-size: 15px;
  padding:10px 20px;
  border-radius: 25px;
  text-decoration: none!important;
  display: inline-block;
  font-weight: bold;
  -webkit-box-shadow: 3px 3px 3px rgba(0,0,0,0.3);
          box-shadow: 3px 3px 3px rgba(0,0,0,0.3);
}

/* グループCPN外部化 */
.campaignContent {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.campaignContent__txtBlock {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
}

.campaignContent__txtBlock__heading[target="_blank"] span {
  margin-left: 8px;
}

.campaignContent__txtBlock__date {
  margin-bottom: 0;
}

.campaignContent__txtBlock__group__attention {
  margin-bottom: 8px;
  font-size: 12px;
}

.campaignContent__txtBlock__group__attention li {
  position: relative;
  padding-left: 1em;
}

.campaignContent__txtBlock__group__attention li::before {
  position: absolute;
  content: "※";
  top: 0;
  left: 0;
}

.campaignContent__txtBlock__data {
  margin-top: auto;
  position: static;
  bottom: auto;
}

.group-campaign__contents {
  margin: 80px 0;
  text-align: center;
  font-size: 18px;
}
.group-campaign__contents a {
  color: #0085c7;
  text-decoration: none;
}
.group-campaign__contents a:hover {
  color: #004e76;
}
.group-campaign__app-text p {
  margin-bottom: 16px;
}
.group-campaign__app-list {
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
}
.group-campaign__app-list li:first-child {
  margin-right: 8px;
}
.group-campaign--chevron-right__blue {
  text-decoration: none;
}
.group-campaign--chevron-right__blue::after {
  content: "\F127";
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font: normal 1em rex-icon;
  display: inline-block;
  padding-left: 1px;
  vertical-align: text-top;
  position: relative;
  right: 0;
  top: 0;
  bottom: 0;
}
.category__content__items .category__content__items__item__img--h {
  opacity: 0;
}

/* ------------------------------- CPN userBasicInfo ----------------------------------- */
.js-cpn-ubi-mismatched,
.js-cpn-ubi-matched.is-show--cpn-ubi {
  display: block !important;
}

.js-cpn-ubi-mismatched.is-hide--cpn-ubi,
.js-cpn-ubi-matched,
.js-cpn-ubi-control-display-child.is-hide--cpn-ubi {
  display: none !important;
}
/* ------------------------------- /CPN userBasicInfo ----------------------------------- */

.campaign-connection-banner:hover {
  opacity: .3;
}

/* キャンペーン一覧 API化UI改善 */
.campaign__list-asterisk {
  padding-left: 0;
  list-style: none;
}

.campaign__list-asterisk>li {
  position: relative;
  padding-left: calc(1em + 0.5rem);
  margin-top: 4px;
}

.campaign__list-asterisk>li:first-child {
  margin-top: 8px;
}

.campaign__list-asterisk>li:before {
  content: "※";
  position: absolute;
  top: -2px;
  left: 0;
}

[v-cloak] {
  display: none;
}

.campaign-empty__container {
  padding: 120px 40px;
  text-align: center;
  color: #828282;
  font-weight: bold;
  background-color: #f7f7f7;
  border-top: solid 1px #ddd;
  border-bottom: solid 1px #ddd;
}

.campaign-error__container {
  padding: 48px 0;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.campaign-error__img {
  margin-right: 40px;
}

.campaign-error__title {
  font-size: 24px;
}

.campaign-error__text {
  font-size: 16px;
}

.tab-container {
  border-left: solid 1px #ebebeb;
  border-right: solid 1px #ebebeb;
}

.tab-background-a11y {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}

.tab-background-a11y button {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 1;
  -webkit-flex: 1;
      -ms-flex: 1;
          flex: 1;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  text-align: center;
  padding: 12px;
  color: #686868;
  background-color: #ebebeb;
  border: none;
  font-weight: 700;
  cursor: pointer;
}

.tab-background-a11y button.tabActive:hover {
  background-color: transparent;
}

.tab-background-a11y button:not(.tabActive):hover {
  background-color: #e2e2e2;
}

.tab-background-a11y button.tabActive {
  border-top: 2px solid #ec0606;
  background-color: rgba(0, 0, 0, 0);
  color: #ec0606;
}

.campaign__inline-block {
  display: inline-block;
}

.campaign-content__mt5 {
  margin-top: 5px;
}

.campaign-content__mb5 {
  margin-bottom: 5px;
}

.campaign-content__mb8 {
  margin-bottom: 8px;
}

.campaign-content__mt16 {
  margin-top: 16px;
}

.campaign-content__pt16 {
  padding-top: 16px;
}

.campaign-content__mr16 {
  margin-right: 16px;
}

.campaign-content__mr36 {
  margin-right: 36px;
}

.campaign-content__mt56 {
  margin-top: 56px;
}

.campaign-content__xsmall {
  font-size: 12px;
}

.campaign-content__text-bold {
  font-weight: bold;
}

.campaign-content__text-red {
  color: #ec0606;
}

.ongoing-campaign__toggle-container {
  padding: 16px 24px;
}

.ongoing-campaign__toggle {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: end;
  -webkit-justify-content: flex-end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}

.ongoing-campaign__toggle-text {
  margin-right: 16px;
}

.ongoing-campaign__toggle-button {
  border: none;
  background: none;
  padding: 0;
  cursor: pointer;
}

.campaign__container {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start;
  padding: 17px 11px;
  border-bottom: solid 1px #ebebeb;
}

.campaign-list__container {
  position: relative;
  min-height: 200px;
}

.campaign-list__pinned {
  position: absolute;
  width: 40px;
  height: 40px;
  top: 0;
  right: 0;
  background: url(https://image.card.jp.rakuten-static.com/r-enavi/WebImages/enavi/campaign/icn-pin.gif) no-repeat top right;
  z-index: 1;
}

.campaign__container:first-child {
  border-top: solid 1px #ebebeb;
}

.campaign-list__img {
  width: 180px;
  margin-right: 20px;
}

.campaign__link:hover {
  opacity: .8;
}

.campaign-content__main {
  margin-right: 40px;
}

/* start 実施中と終了したエントリー済みのキャンペーン名称 */
.campaign-content__campaign-name {
  font-size: 18px;
}

.campaign-content__campaign-name a {
  color: #006a9e;
  text-decoration: none;
}

.campaign-content__campaign-name a:hover {
  text-decoration: underline;
}
/* end 実施中と終了したエントリー済みのキャンペーン名称 */
/* start listコンテンツ ラベル関連 */
.campaign-list__label {
  display: inline;
  font-size: 12px;
  padding: 2px 4px;
  font-weight: bold;
  margin-right: 4px;
}

.campaign-list__label:last-child {
  margin-right: 0;
}

.campaign-list__necessary__label {
  color: #ec0606;
  border: solid 1.5px #ec0606;
}

.campaign-list__unnecessary__label {
  color: #1769a2;
  border: solid 1.5px #1769a2;
}

.campaign-list__bonus-mail__label {
  color: #047205;
  border: solid 1.5px #047205;
}

.campaign-list__entered__label {
  color: #686868;
  border: solid 1.5px #686868;
}

.campaign-list__check__label {
  color: #ff9a29;
  border: solid 1.5px #ff9a29;
}

.campaign-list__new__label {
  color: #fff;
  background-color: #ff9a29;
  border: solid 1.5px #ff9a29;
}
/* end listコンテンツ ラベル関連 */

.campaign__icon-window {
  content: url(https://image.card.jp.rakuten-static.com/r-enavi/WebImages/enavi/top/re-design-bottom/new_window_link.svg);
  width: 18px;
  height: 18px;
  margin-left: 4px;
}

.campaign-category__image {
  display: inline-block;
  margin-right: 14px;
}

.campaign-category__image:last-child {
  margin-right: 0;
}

.campaign-list__content-button {
  position: relative;
  margin-top: auto;
  margin-left: auto;
  text-align: center;
}

.campaign-list__entry-button {
  position: relative;
  display: inline-block;
  font-size: 16px;
  padding: 8px;
  width: 190px;
  background-color: #22c693;
  color: #fff !important;
  text-decoration: none !important;
}

.campaign-list__entry-button::after {
  position: absolute;
  content: url(https://image.card.jp.rakuten-static.com/r-enavi/WebImages/enavi/common/icon/all/icon_chevron-right_rex_white.svg);
  top: 12px;
  right: 6px;
  width: 16px;
  height: 16px;
  margin-left: auto;
}

.campaign-list__campaign-code {
  font-size: 12px;
  color: #828282;
}
/* start ボーナスメールコンテンツ */
.campaign-bonus-mail_contents {
  position: absolute;
  bottom: 68px;
  right: 5px;
  width: 180px;
  border-top-left-radius: 10px;
  border-top-right-radius: 10px;
  border: 5px solid #fc911f;
}

.campaign-bonus-mail__title {
  padding: 5px;
  color: white;
  font-weight: bold;
  background-color: #fc911f;
}

.campaign-bonus-mail__count {
  padding: 0 5px;
  color: #d8251e;
  font-size: 40px;
  font-weight: bold;
}
/* end ボーナスメールコンテンツ */
/* start gridコンテンツ固有スタイル */
.campaign-grid-container {
  padding: 16px 42px 40px;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 48px 24px;
  text-align: center;
  border-bottom: solid 1px #ebebeb;
}

.campaign-grid__img {
  position: relative;
}

.campaign-grid__new__label {
  position: absolute;
  top: -18px;
  z-index: 2;
}
/* end gridコンテンツ */

.ended-campaign__notes {
  padding: 10px;
  border: 1px solid #ebebeb;
}
/* /キャンペーン一覧 API化UI改善 */

/* start CPN内フローティングボタン */
.float_wrapper {
    position: fixed;
    bottom: 0;
    left: 50%;
    -webkit-transform: translate(-50%, 100%);
        -ms-transform: translate(-50%, 100%);
            transform: translate(-50%, 100%);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    padding: 16px 8px 24px;
    width: 100%;
    background-color: rgba(255, 255, 255, .9);
    -webkit-transition: .5s ease;
    -o-transition: .5s ease;
    transition: .5s ease;
    border-top: 1px solid #ddd;
    z-index: 90;
  }

  .float_container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
    gap: 12px;
  }

  .float_open {
    -webkit-transform: translate(-50%, 10%);
        -ms-transform: translate(-50%, 10%);
            transform: translate(-50%, 10%);
  }

  .float_btn {
    -webkit-transition: .3s ease all;
    -o-transition: .3s ease all;
    transition: .3s ease all;
    opacity: 1;
  }

  .float_btn_single{
    -webkit-transition: .3s ease all;
    -o-transition: .3s ease all;
    transition: .3s ease all;
    opacity: 1;
  }

  .float_btn_single:hover{
    opacity: .6;
  }

  .float_btn:hover {
    opacity: .6;
  }

  .float_only_pc {
    display: block;
  }
 
  .float_only_sp {
    display: none;
  }

  @media screen and (max-width: 1080px){
    .float_wrapper {
      padding: 16px 8px 24px 8px;
    }

    .float_container {
      display: block;
    }

    .float_btn a img {
      max-width: 280px;
      width: 100%;
      height: auto;
    }

    .float_btn:last-child {
      margin-top: 8px;
    }

    .float_btn_single {
      max-width: 360px;
      width: 100%;
      height: auto;
    }

    .float_btn_single a img {
      width: 100%;
      height: auto;
    }
  }

  @media screen and (max-width: 767px) {
    .float_wrapper {
      padding: 16px 8px 32px;
    }

    .float_container {
      max-width: 350px;
      gap: 16px;
      display: flex;
    }

    .float_only_pc {
    display: none;
  }
 
  .float_only_sp {
    display: block;
  }
  
  .float_btn_single  {
    text-align: center;
  }

  .float_btn_single a img {
    max-width: 85%;
    height: auto;
  }
  }
/* end CPN内フローティングボタン */