@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=M+PLUS+Rounded+1c:wght@500;800&display=swap');
.main {
  margin: 0 auto;
  color: #000000;
  font-family: "ヒラギノ角ゴ", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "Hiragino Kaku Gothic", "メイリオ", "Meiryo", "MS Pゴシック", "MS PGothic";
}
.main h1, .main h2, .main h3, .main h4, .main p {
  padding: 0;
}
.main img {
  width: 100%;
}
.main a {
  color: #cc0033!important;
  text-decoration: underline;
}
.main a:hover {
  opacity: 0.8;
}

@media screen and (min-width: 769px) {
  .main .d-sp {
    display: none;
  }
}
@media screen and (max-width: 768px) {
  .main .d-pc {
    display: none;
  }
}
.main h2.coin {
  position: relative;
  padding: 20px 0;
  border-radius: 18px 18px 0 0;
  background-color: #000000;
}
@media screen and (max-width: 768px) {
  .main h2.coin {
    padding: 2.3333333333vw 0;
    border-radius: 3.3333333333vw 3.3333333333vw 0 0;
  }
}

@media screen and (max-width: 768px) {
  .main h2.coin::before {
    top: -3.5416666667vw;
    width: 94.7916666667vw;
    height: 12.5vw;
  }
}

.main .kv img {
  display: block;
  width: 100%;
}



/*----------期間----------*/
.main .kv__date {
  width: 100%;
  background-color: #d4b060;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  opacity: 1;
  position: relative;
  z-index: 3;
  height: 78px;
}

@media screen and (max-width: 768px) {
  .main .kv__date {
    height: 9.3333333333vw;
  }
}

.main .kv__date img {
  width: 700px;
}
@media screen and (max-width: 768px) {
  .main .kv__date img {
    width: 90.6666666667vw;
  }
}
.main .caution > .inner {
  padding: 24px 100px 34px 100px;
}
@media screen and (max-width: 768px) {
  .main .caution > .inner {
    padding: 3.75vw 3.75vw 3.75vw 3.75vw;
  }
}

/*----------期間_end----------*/

/*----------帯----------*/
.ttl_4percent{
	background-color: #d50040;
	text-align: center;
	padding: 20px 10px 15px;
}

.ttl_4percent a{
	position: relative;
	color: #ffffff!important;
	text-decoration: none;
}
 .ttl_txt1{font-size: 30px;
	font-weight: 600;
	line-height: 1.2;
	font-family: "M PLUS 1p", sans-serif;
	text-decoration: none;
}
.ttl_txt2{font-size: 48px;
	font-weight: 600;
	line-height: 1.2;
	font-family: "M PLUS 1p", sans-serif;
}
.font_s{font-size: 38px;
	font-weight: 500;
	line-height: 1.2;
	font-family: "M PLUS 1p", sans-serif;
	padding: 0 5px;
}
	.font_l{font-size: 65px;
	font-weight: 700;
	line-height: 1.2;
		font-family: "M PLUS 1p", sans-serif;}

@media screen and (max-width: 768px) {
	.ttl_4percent{
	padding: 10px 5px;}
	.ttl_txt1{
	font-size: 4.5vw;
	line-height: 1.3;}
	.ttl_txt2{
	font-size: 5.5vw;
	line-height: 1.3;}
	.font_s{font-size: 4.5vw;
	line-height: 1.3;
	padding: 0 3px;}
	.font_l{font-size: 6.0vw;
	line-height: 1.3;}
}
/*----------帯_end----------*/

/*----------注釈----------*/

.main .caution__item {
  padding-left: 1em;
  color: #000000;
  font-size: 15px;
  font-weight: 500;
  text-indent: -1em;
  line-height: 1.3333333333;
}
@media screen and (max-width: 768px) {
  .main .caution__item {
    font-size: 14px;
    font-size: 2.9166666667vw;
    line-height: 1.3571428571;
  }
}
.main .caution__link {
  margin-top: 17px;
  text-align: center;
  line-height: 1;
}
@media screen and (max-width: 768px) {
  .main .caution__link {
    margin-top: 2.6666666667vw;
  }
}
.main .caution__link a {
  font-size: 18px;
  line-height: 1;
  font-weight: 500;
}
@media screen and (max-width: 768px) {
  .main .caution__link a {
    font-size: 17px;
    font-size: 3.5416666667vw;
  }
}

/*----------参加条件----------*/
.main .participation {
  position: relative;
  padding-bottom: 32px;
  background-color: #efcd8b;
  background-size: 22px;
	margin-bottom: 50px;
}
.participation_lead_pb{
	padding-bottom: 30px!important;
}
.participation_txt01{
	margin-top: 15px;
}
.participation_txt02{
	color: #000000;
    font-size: 15px;
    font-weight: 500;
    /*text-indent: -1em;*/
    line-height: 1.3333333333;
	text-align: center;
}


@media screen and (max-width: 768px) {
  .main .participation {
    padding-bottom: 1.6666666667vw;
	  margin-bottom: 25px;
  }
.participation_lead_pb{
	padding-bottom: 15px!important;
}
.participation_txt01{
	margin-top: 3vw!important;
}
	.participation_txt02{font-size: 2.9166666667vw;
        line-height: 1.7;
	padding: 0 5vw !important;}
}




.main .participation > .inner {
  padding: 64px 97px 0 97px;
}
@media screen and (max-width: 768px) {
  .main .participation > .inner {
    padding: 7vw 4.1666666667vw 5vw 4.1666666667vw;
  }
}
.main .participation__detail--inner {
  padding: 40px 0;
  background-color: #ffffff;
	border-radius: 0 0 18px 18px;
}
@media screen and (max-width: 768px) {
  .main .participation__detail--inner {
    padding: 5.8333333333vw 0 3vw;
	 border-radius: 0 0 3.3333333333vw 3.3333333333vw ;
  }
}
.main .participation__title span {
  display: block;
  width: 166px;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .main .participation__title span {
    width: 33.6363636364%;
  }
}
.main .participation__lead {
  width: 650px;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .main .participation__lead {
    width: 93.6363636364%;
  }
}

.main .participation__note {
  margin-top: 24px;
  color: #000000;
  font-size: 16px;
  font-weight: 500;
  text-align: center;
  line-height: 1;
  position: relative;
  z-index: 3;
}
@media screen and (max-width: 768px) {
  .main .participation__note {
    margin-top: 5vw;
    font-size: 16px;
    font-size: 3.3333333333vw;
  }
}
.main .participation__winning {
  position: relative;
  width: 726px;
  margin: 30px auto 0 auto;
  z-index: 1;
}
@media screen and (max-width: 768px) {
  .main .participation__winning {
    width: 93.6363636364%;
    margin-top: 15px;
  }
}



.main .participation__winning--title {
  position: relative;
  padding: 15px 0;
  border-radius: 20px 20px 0 0;
  background-color: #cc0033;
}
@media screen and (max-width: 768px) {
  .main .participation__winning--title {
    padding: 2.3333333333vw 0 2.3333333333vw 0;
  }
}

.main .participation__winning--title span {
  display: block;
  width: 690px;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .main .participation__winning--title span {
    width: 90%;
  }
}
.main .participation__winning--inner {
  position: relative;
  padding: 25px 0 30px 0;
  border-right: 4px solid #cc0033;
  border-bottom: 4px solid #cc0033;
  border-left: 4px solid #cc0033;
  border-radius: 0 0 20px 20px;
  background-color: #ffffff;
}
@media screen and (max-width: 768px) {
  .main .participation__winning--inner {
    padding: 4vw 0 4vw 0;
    border-right: 0.8333333333vw solid #cc0033;
    border-bottom: 0.8333333333vw solid #cc0033;
    border-left: 0.8333333333vw solid #cc0033;
  }
}
.main .participation__winning--item {
  width: 624px;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .main .participation__winning--item {
    width: 90.5940594059%;
  }
}
.main .participation__winning--item + .participation__winning--item {
  margin-top: 25px;
}
@media screen and (max-width: 768px) {
  .main .participation__winning--item + .participation__winning--item {
    margin-top: 3vw;
  }
}





.main .settei {
  background-color: #CC0033;
  padding: 4em 0 2em;
  font-size: 1rem;
}
.main .settei img {
  display: block;
  margin: 0 auto;
}


@media screen and (max-width: 768px) {
  .main .settei img {
    width: 100%;
  }
}
.main .settei__inner {
  position: relative;
  background-color: #fff;
  width: 83.8%;
  margin: 0 auto 0;
  padding: 0 1.5em 3em;
}
@media screen and (max-width: 768px) {
  .main .settei__inner {
    width: 90%;
  }
}
.main .settei__icon {
  margin: 0 auto;
  position: relative;
  top: -2em;
font-size: 150%;
}
@media screen and (max-width: 768px) {
  .main .settei__icon {
    top: -3em;
	font-size: 110%;
  }
}
.main .settei__txt {
  text-align: center;
  font-size: 1.5em;
  font-weight: 600;
  line-height: 1.75;
  margin: 1.5em auto 0em;
  padding: 0;
}

.main .settei__txt_2 {
  text-align: center;
  font-size: 1.3em;
  font-weight: 500;
  line-height: 1.75;
  margin: 0em auto 2.5em;
  padding: 0;
}
@media screen and (max-width: 768px) {
.main .settei__txt {
  font-size: 1.2em;
}
.main .settei__txt_2 {

  font-size: 1.1em;
}
}


@media screen and (max-width: 768px) {
  .main .settei__txt,.main .settei__txt_2 {
    line-height: 2.25;
  }
}
.main .settei__howto {
  margin: 2em auto 0;
}
.main .settei__howto p {
  text-align: center;
  padding: 0;
  line-height: 2;
  font-size: 1.8em;
  font-weight: 600;
  color: #fff;
}
@media screen and (max-width: 768px) {
  .main .settei__howto p {
    font-size: 1.3em;
  }
}
.main .settei__howto p a {
  color: #fff!important;
  font-weight: 600;
}
.settei__title{
	padding-top: 20px;
	width: 95%;
	margin: auto;
}
@media screen and (max-width: 768px) {
.settei__title{
	padding-top: 20px;
	width: 100%;
	margin: auto;
}
}

.main .slick-pc .slick-prev, .main .slick-pc .slick-next {
  font-size: 1.5em;
  transform: scale(1);
  border-style: solid;
  border-width: 1em 0 1em 1em;
  border-color: transparent transparent transparent #FF7B00;
  top: 12em;
  z-index: 1;
}
.main .slick-pc .slick-prev:before, .main .slick-pc .slick-next:before {
  display: none;
}
.main .slick-pc .slick-prev {
  left: 0.5em;
  transform: scale(-1, 1);
}
.main .slick-pc .slick-next {
  right: 0.5em;
}
.main .slick-pc .slick-dots {
  bottom: -2em;
  display: flex;
  justify-content: center;
}
.main .slick-pc .slick-dots button {
  font-size: 1em;
  background-color: #ccc;
  border-radius: 50%;
  width: 0.75em;
  height: 0.75em;
}
.main .slick-pc .slick-dots button:before {
  display: none;
}
.main .slick-pc .slick-dots li {
  display: block;
  margin: 0;
  width: auto;
  height: auto;
}
.main .slick-pc .slick-dots li + li {
  margin-left: 1em;
}
.main .slick-pc .slick-dots .slick-active button {
  background-color: #FF7B00;
}
.main .slick-pc .img {
  width: 90%;
  margin: auto;
}
.main .slick-pc .texts {
  margin: 1em 0 1em 3em;
  display: flex;
  justify-content: space-between;
}
.main .slick-pc .texts.min {
  gap: 20em;
}
.main .slick-pc .texts > div {
  width: 40em;
}
.main .slick-pc .texts p {
  padding: 0;
  font-size: 1.5em;
}
.main .slick-pc .texts p .strong {
  color: #FF7B00;
  font-weight: bold;
}
.main .slick-pc .texts p.caution {
  font-size: 1.2em;
}
.main .slick-pc .texts p a {
  color: #cc0033;
}
.main .slick-sp .slick-prev, .main .slick-sp .slick-next {
  font-size: 1.5em;
  transform: scale(1);
  border-style: solid;
  border-width: 1em 0 1em 1em;
  border-color: transparent transparent transparent #FF7B00;
  top: 14em;
  z-index: 1;
}
.main .slick-sp .slick-prev:before, .main .slick-sp .slick-next:before {
  display: none;
}
.main .slick-sp .slick-prev {
  left: 0.5em;
  transform: scale(-1, 1);
}
.main .slick-sp .slick-next {
  right: 0.5em;
}
.main .slick-sp .slick-dots {
  bottom: -2em;
  display: flex;
  justify-content: center;
}
.main .slick-sp .slick-dots button {
  font-size: 1em;
  background-color: #ccc;
  border-radius: 50%;
  width: 0.75em;
  height: 0.75em;
}
.main .slick-sp .slick-dots button:before {
  display: none;
}
.main .slick-sp .slick-dots li {
  display: block;
  margin: 0;
  width: auto;
  height: auto;
}
.main .slick-sp .slick-dots li + li {
  margin-left: 1em;
}
.main .slick-sp .slick-dots .slick-active button {
  background-color: #FF7B00;
}
.main .slick-sp .img {
  width: 60%;
  margin: 0 auto;
}

.main .slick-sp .img04 {
  width: 85%;
  margin: 0 auto;
}
.main .slick-sp .text {
  width: 90%;
  margin: 1em auto 0;
}
.main .slick-sp .text p {
  padding: 0;
  font-size: 1.375em;
}
.main .slick-sp .text p .strong {
  color: #FF7B00;
  font-weight: bold;
}
.main .slick-sp .text p.caution {
  font-size: 1em;
}
.main .slick-sp .text p a {
  color: #cc0033;
}


/*.main .settei-id {
  background-color: #e9c700;
  padding: 6em 0 2em;
  font-size: 1rem;
}
.main .settei-id img {
  display: block;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .main .settei-id img {
    width: 100%;
  }
}
.main .settei-id__inner {
  position: relative;
  background-color: #fff;
  width: 83.8%;
  margin: 0 auto 0;
  padding: 0 0 3em;
}
@media screen and (max-width: 768px) {
  .main .settei-id__inner {
    width: 94%;
  }
}
.main .settei-id__icon {
  margin: 0 auto;
  position: relative;
  top: -2em;
  font-size: 150%;
}
@media screen and (max-width: 768px) {
  .main .settei-id__icon {
    top: -3em;
    font-size: 110%;	  
  }
}
.main .settei-id__text {
  margin: 2em auto 0;
}
.main .settei-id__text p {
  text-align: center;
  padding: 0;
  line-height: 2;
  font-size: 1.8em;
  font-weight: 600;
  color: #000;
}
.main .settei-id__text p a {
  color: #003e98;
  font-weight: 600;
}
@media screen and (max-width: 768px) {
  .main .settei-id__detail {
    width: 94%;
    margin: -2em auto 0;
  }
}*/

/*---dカードバナー---*/
.main .cbnr {
  margin: 5em auto;
}
@media screen and (max-width: 768px) {
  .main .cbnr img {
    width: 100%;
  }
.main .cbnr {
  margin: 2em auto 1em;
}
}

.main .cbnr a {
  display: block;
  width: 54%;
  margin: 24px auto 0;
}
@media screen and (max-width: 768px) {
  .main .cbnr a {
    width: 85%;
  }
}
.main .cpn_big {
  margin: 0;
  padding-top: 0;
  position: relative;
}
@media screen and (max-width: 768px) {
  .main .cpn_big {
    margin: 0;
    padding-top: 0;
    position: relative;
  }
}
.main .cpn_big__btn {
  margin: 5em auto;
}
.main .cpn_big__btn a {
  display: block;
  width: 55%;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .main .cpn_big__btn a {
    display: block;
    width: 92%;
    margin: 0 auto;
  }
}
@media screen and (max-width: 768px) {
  .main .cpn_big__btn {
    padding-top: 10px;
    margin: 3em auto;
  }
}
.main .cpn_big .slick-slide {
  margin: 0 10px;
}
@media screen and (max-width: 768px) {
  .main .cpn_big .slick-slide {
    margin: 0 10px;
  }
}
.main .slick-dots li.slick-active button:before {
  color: #c03;
}
.main .slick-dots li button:before {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  color: #d4d4d4;
  content: "•";
  font-family: slick;
  font-size: 17px;
  height: 20px;
  left: 0px;
  line-height: 40px;
  position: absolute;
  text-align: center;
  top: 0;
  width: 55px;
}
@media screen and (max-width: 450px) {
  .main .top_cpn_bnr_area .cpn_big_list {
    margin-right: 0;
  }
  .main .cpn_big_list img {
    width: 300px;
    height: 169px;
  }
}
@media screen and (max-width: 767px) {
  .main .top_cpn_bnr_area .cpn_big_list {
    margin-right: 0;
  }
	.main .slick-dots li button:before {font-size: 15px;}
}

/*---ランクプロモ---*/
.main .newrank{
	background-color: #ffffff;
}
.main .newrank__txt img {
display: block;
    margin: 0 auto;
    width: auto;
	padding: 20px;
}

.main .newrank__img img {
display: block;
    margin: 0 auto;
    width: auto;
}
.main .newrank__img{
	width: 70%;
	margin: auto;
	padding: 40px 0 ;
}
@media screen and (max-width: 767px) {
	.main .newrank__img{
	width: 90%;
	padding: 20px 0;
	margin: auto;
}
}

@media screen and (max-width: 767px) {
.newrank__note .participation__note{
	line-height: 2em;
	padding: 0 3.75vw;
	font-size:2.9166666667vw;
	margin-top: 0!important;
	}}

.main .newrank__howto {
  margin: 0.7em auto 0;
}
.main .newrank__howto p {
  text-align: center;
  padding: 0;
  line-height: 2;
  font-size: 2.8em;
  font-weight: 800;
  color: #d50040;
  font-family: "M PLUS 1p", sans-serif;
}
@media screen and (max-width: 768px) {
  .main .newrank__howto p {
    font-size: 1.3em;
	  padding: 0;
  }
}
.main .newrank__howto p a {
  color: #d50040;
  font-weight: 800;
  font-family: "M PLUS 1p", sans-serif;
}


/*---質問---*/

.main .faq__inner {
  width: 738px;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .main .faq__inner {
    width: 94%;
  }
}
.main .faq__body {
  overflow: hidden;
  border-radius: 0 0 1.5em 1.5em;
  padding: 0 0 2.5em;
  background-color: #FBD8DC;
}
.main .faq__title span {
  display: block;
  width: 240px;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .main .faq__title span {
    width: 40%;
  }
}
/*.main .faq__title.coin::before {
  width: 600px;
  background: url(/keitai_payment/campaign/202403_1cm/cpn-dtokumatsuri/images/faq/ps_title_coin.png) no-repeat center center;
  background-size: 100%;
}
@media screen and (max-width: 768px) {
  .main .faq__title.coin::before {
    top: -2.5vw;
    width: 94.5833333333vw;
    height: 10.2083333333vw;
    background: url(/keitai_payment/campaign/202403_1cm/cpn-dtokumatsuri/images/ps_title_coin_sp.png) no-repeat center center;
    background-size: 100%;
  }
}*/
.main .faq__item {
  width: 94%;
  margin: 2em auto 0;
}
.main .faq__item + .faq__item {
  border-top: 1px solid #000;
  padding-top: 1.5em;
  margin-top: 1.5em;
}
.main .faq__item__q {
  display: flex;
  align-items: center;
  color: #000;
  position: relative;
  cursor: pointer;
}
.main .faq__item__q:hover {
  text-decoration: none;
}
.main .faq__item__q::before {
  content: "";
  display: block;
  width: 3em;
  background: url(/keitai_payment/campaign/cpn-rank202503/images/faq/q.svg) center center no-repeat #000;
  background-size: 1.5em;
  height: 6em;
}
.main .faq__item__q::after {
  content: "";
  display: block;
  position: absolute;
  right: 0.5em;
  top: calc(50% - 1em);
  width: 1em;
  height: 1em;
  border-style: solid;
  border-width: 0 2px 2px 0;
  border-color: transparent #000 #000 transparent;
  transform: rotate(45deg);
}
.main .faq__item__q p {
  flex: 1;
  font-size: 1.25em;
  font-weight: 600;
  padding: 0 1em;
  margin-right: 2em;
}
/*@media screen and (max-width: 768px) {
  .main .faq__item__q p {
    font-size: 1em;
  }
}*/
.main .faq__item__q.on::after {
  transform: rotate(-135deg);
  top: calc(50% - 0.5em);
}
.main .faq__item__q.on + .faq__item__a {
  margin-top: 1em;
  max-height: 10em;
}
.main .faq__item__a {
  max-height: 0;
  transition: 0.3s cubic-bezier(0, 1.16, 0.58, 1.33);
  overflow: hidden;
  display: flex;
  align-items: center;
}
.main .faq__item__a::before {
  content: "";
  display: block;
  width: 3em;
  background: url(/keitai_payment/campaign/cpn-rank202503/images/faq/a.svg) center center no-repeat #d82042;
  background-size: 1.5em;
  height: 6em;
}
.main .faq__item__a p {
  flex: 1;
  font-size: 1.25em;
  font-weight: 600;
  padding: 0 1em;
  margin-right: 2em;
}
@media screen and (max-width: 768px) {
  .main .faq__item__a p {
    font-size: 1em;
  }
}
.main .description {
  margin: 3em auto;
  line-height: 1.8;
}
@media screen and (max-width: 768px) {
  .main .description {
    font-size: 2.8vw;
  }
  .main .description img {
    width: 100%;
  }
}
.main .description__inner {
  width: 738px;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .main .description__inner {
    width: 94%;
  }
}
.main .description__title span {
  display: block;
  width: 320px;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .main .description__title span {
    width: 55%;
  }
}

.main .description__body {
  background-color: #FBD8DC;
  overflow: hidden;
  border-radius: 0 0 1.5em 1.5em;
  padding: 0 0 2.5em;
}
.main .description__detail {
  width: 94%;
  margin: 2em auto;
}
@media screen and (max-width: 768px) {
  .main .description__detail {
    width: 94%;
    margin: 0 auto;
  }
}
.main .description h3 {
  font-size: 1em;
  padding: 0;
  margin: 1.5em auto 0;
  color: #cc0033;
}
@media screen and (max-width: 768px) {
  .main .description h3 {
    font-size: 1.125em;
  }
}
.main .description p {
  margin: 0;
  padding: 0;
  font-size: 1em;
}
@media screen and (max-width: 768px) {
  .main .description p {
    font-size: 1em;
  }
}
.main .description p.ind1 {
  padding-left: 1em;
  text-indent: -1em;
}
.main .description p.ind2 {
  padding-left: 1.8em;
  text-indent: -1.8em;
}
.main .description p.ind3 {
  padding-left: 3em;
  text-indent: -3em;
}
.main .description p.red {
  color: #d11938;
}
.main .description p a {
  color: #cc0033;
}
.main .ft-btns {
  margin: 5em 0;
  padding: 2em 0;
  position: relative;
  background-color: #b2b2b2;
  color: #fff;
}
.main .ft-btns img {
  width: 100%;
}
@media screen and (max-width: 768px) {
  .main .ft-btns {
    margin: 3em 0;
    padding: 3em 0;
  }
}
.main .ft-btns h3 {
  text-align: center;
  font-size: 1.375em;
  padding: 0;
  color: #fff;
  margin: 0 auto 0.75em;
  position: relative;
  width: 86%;
}
@media screen and (max-width: 768px) {
  .main .ft-btns h3 {
    font-size: 1.125em;
    width: 100%;
  }
}
.main .ft-btns h3::before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  right: 0;
  top: 50%;
  width: 100%;
  border-top: 2px dotted #fff;
}
@media screen and (max-width: 768px) {
  .main .ft-btns h3::before {
    display: none;
  }
}
.main .ft-btns h3 span {
  display: inline-block;
  background-color: #b2b2b2;
  padding: 0 1em;
  font-weight: bold;
  position: relative;
}
.main .ft-btns .btns {
  display: flex;
  justify-content: center;
}
@media screen and (max-width: 768px) {
  .main .ft-btns .btns {
    flex-wrap: wrap;
  }
  .main .ft-btns .btns > div {
    width: 92%;
  }
}
.main .ft-btns .btns a {
  display: block;
  border-radius: 1em;
  overflow: hidden;
  box-shadow: 0.5em 0.5em 1em rgba(0, 0, 0, 0.2);
}
.main .ft-btns .btns > div + div {
  margin-left: 2em;
}
@media screen and (max-width: 768px) {
  .main .ft-btns .btns > div + div {
    margin: 1em 0 0;
  }
}
.main .ft-btns .btns + h3 {
  margin-top: 2.5em;
}
.main .cfooter {
  margin: 3em auto 0;
  padding: 0 3em;
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  .main .cfooter {
    padding: 0 1em;
  }
}
.main .cfooter h2 {
  font-size: 1.2em;
  padding: 0;
  margin-bottom: 1em;
}
.main .cfooter .ccode {
  margin: 1em auto;
}
.main .cfooter .ccode small {
  color: #999999;
  font-size: 0.875em;
}
.main .cfooter p {
  margin: 1em auto;
  padding: 0;
}
.main .cfooter p small {
  font-size: 0.875em;
  color: #999999;
}
.main .cfooter p.t2 {
  margin-top: 2em;
}
.main .cfooter a {
  color: #000;
}
.main .cfooter a.red {
  color: #cc0033;
}
@media screen and (max-width: 768px) {
  .main .cfooter .cwrap {
    flex-wrap: wrap;
  }
  .main .cfooter .cwrap > div {
    width: 100%;
  }
}
/*.main .cpn_footer {
  margin-bottom: 176px;
}*/
/*@media screen and (max-width: 768px) {
  .main .cpn_footer {
    margin-bottom: 33.3333333333vw;
  }
}*/
.main .cpn_footer p {
  text-align: right;
  font-size: 12px;
  padding: 0 10px;
}
.main .cpn_footer p.copyright {
  text-align: right;
  font-size: 0.875em;
  margin: 1em auto;
}
@keyframes kv_fuwa {
  0% {
    transform: translate(0, -0.5em);
  }
  100% {
    transform: translate(0, 0.5em);
  }
}
/* KV下ボタン */
.kv-btn {
  width: 1000px;
}
@media screen and (max-width: 768px) {
  .kv-btn {
    left: 0;
    width: 100%;
  }
}
.kv-btn .entry_btn {
  display: block;
  width: 55%;
  margin: 0 auto;
  padding: 15px 0 0;
}
@media screen and (max-width: 768px) {
  .kv-btn .entry_btn {
    width: 90%;
	padding: 10px 0 0;
  }
}
.kv-btn p {
  font-size: 18px;
  font-family: "M PLUS 1p", sans-serif;
  padding: 12px 0;
  text-align: center;
  font-weight: 500;
  background-color: #ffffff;
}
@media screen and (max-width: 768px) {
  .kv-btn p {
    font-size: 12px;
  }
}
.kv-btn.cp-fb_disabled .entry-btn_disabled {
  display: block;
}
.kv-btn.cp-fb_disabled .entry-btn_enabled {
  display: none;
}

.kv-btn.on {
  bottom: 0;
}
.kv-btn .entry-btn_enabled{
	background-color: #f7f7f7;
}


/* 追従ボタン */
.cp-fb {
  position: fixed;
  width: 1000px;
  transition: 0.3s;
  z-index: 10;

}

    /*// .is-hidden付与時は非表示*/
    .is-hidden {
        visibility: hidden;
        opacity: 0;
    }

@media screen and (max-width: 768px) {
  .cp-fb {
    left: 0;
    bottom: -30vw;
    width: 100%;
  }
}
.cp-fb .entry_btn {
  display: block;
  width: 55%;
  margin: 0 auto;
  padding: 15px 0 0;
}
@media screen and (max-width: 768px) {
  .cp-fb .entry_btn {
    width: 90%;
	padding: 10px 0 0;
  }
}
.cp-fb p {
  font-size: 18px;
  font-family: "M PLUS 1p", sans-serif;
  padding: 12px 0;
  text-align: center;
  font-weight: 500;
  background-color: #ffffff;
}
@media screen and (max-width: 768px) {
  .cp-fb p {
    font-size: 12px;
  }
}
.cp-fb.cp-fb_disabled .entry-btn_disabled {
  display: block;
}
.cp-fb.cp-fb_disabled .entry-btn_enabled {
  display: none;
}

.cp-fb.on {
  bottom: 0;
}

.cpn-hd {
  background-color: #fff;
}
.cpn-hd .inner {
  width: 1000px;
  margin: 0 auto;
  padding: 1em;
}
@media screen and (max-width: 768px) {
  .cpn-hd .inner {
    width: 100%;
  }
}
.cpn-hd .inner img {
  width: 95px;
}
@media screen and (max-width: 768px) {
  .cpn-hd .inner img {
    width: 75px;
  }
}

.slick-next.slick-arrow,.slick-prev.slick-arrow{
	background: none!important;
}
.slick-arrow{
	border-radius: 0%!important;
}

.cp-fb .entry-btn_enabled{
	background-color: #f7f7f7;
}
/*ボタン*/
div#fixedNav{display:block;	max-width: 1000px;	position: fixed;bottom: 0;	z-index: 30;width: 100%;}
.bgc-g{	background-color: #ffe422;}
.entryBtn{text-align: center;}
.entry_float_btn{display: inline-block;width: 100%;margin-top: 5px;}
.entryBtn div ul{display: flex;	justify-content: center;margin: 5px -190px 0;}
.entryBtn div ul .btn_column02{	width: 35%; }
.entryBtn div ul .btn02{width: 80%;}
.entryBtn div ul .btn02 a,
.entryBtn div ul .btn_column02 a{width: 95%;}
.entryBtn div a span,.entryBtn div em span{	position: relative;	display: block;	font-weight: 600;font-size: 130%;}
.entryBtn div a:after{display: block;content: '';position: absolute;
	top: 0; bottom: 0;	right: 30px;width: 13px;height: 13px;
	margin: auto; border : solid 2px;border-color: transparent #000 #000 transparent;transform: rotate(-45deg);}
.entryBtn div a:hover,
.entryBtn div a:active{opacity: 0.9;filter: alpha(opacity=90);
	-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=90)";}

.entryBtn p{margin-top: 20px;
	font-size: 18px;font-family: 'M PLUS Rounded 1c', "游ゴシック", "游ゴシック体", "Yu Gothic", YuGothic,"ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;	padding: 10px 0;background-color: #f7f7f7;}



@media only screen and (max-width: 768px){
	.entryBtn {	text-align: center;}
	.entryBtn div ul{display: flex;justify-content: space-between;margin: 5px 5px 0;}
	.entryBtn div ul .btn02{width: 100%;}
	.entryBtn div ul .btn_column02{width: 50%;}
	.entryBtn div a span,.entryBtn div em span{
		position: relative;display: block;font-size: 140%;font-weight: 700;padding: 5px 0;}
	.entryBtn div a:after{ display: block; content: ''; position: absolute;
            top: 0;bottom: 0;right: 10px;width: 10px;height: 10px;margin: auto;border: solid 1px;
            border-color: transparent #000 #000 transparent;transform: rotate(-45deg);}
	.entryBtn div a:hover,.entryBtn div a:active{opacity: 0.9;
			filter: alpha(opacity=90);-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=90)";}
	.entryBtn p{margin-top: 20px;font-size: 12px;}

	div#fixedNav{display:block;position: fixed;bottom: 0;z-index: 46;width: 100%;background-color: #f7f7f7;}
    }

/*チェック済みボタン*/
.entryBtn div .btn_column02 a.entry-btnStyle_checked{
		background-color: #ffe500;border: 2px solid #ffe500;box-shadow: 0px 6px 0px 0px #d1ba26;
		pointer-events:auto;cursor: pointer;z-index: 45;}

/*未チェックボタン*/
.entryBtn div .btn_column02 a{
	display: inline-block;	position: relative;	padding: 10px 15px 5px 0;width: 65%;
	background-color: #b9b9b9;	border: 2px solid #b9b9b9;	border-radius: 14px; color: #000;
	font-family: 'M PLUS Rounded 1c', "游ゴシック", "游ゴシック体", "Yu Gothic", YuGothic,"ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-weight: 800; font-size: 190%; 	line-height: 1.4em; text-decoration: none;
	box-shadow: 0px 6px 0px 0px #959595; pointer-events: none; cursor: default;}
.last_content{margin-bottom: 130px;}

@media only screen and (max-width: 768px){
	.entryBtn div .btn_column02 a{display: inline-block; position: relative; max-width: 95%;
		background-color: #b9b9b9; border: 2px solid #b9b9b9; border-radius: 14px; color: #000;
		font-family: 'M PLUS Rounded 1c', "游ゴシック", "游ゴシック体", "Yu Gothic", YuGothic,"ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
		font-weight: 800; padding: 5px 20px 5px 10px; font-size: 105%;
		line-height: 1.2em; text-decoration: none; box-shadow: 0px 6px 0px 0px #959595;
		pointer-events: none;  cursor: default;}
	.last_content{margin-bottom: 60px;}
       }
@media only screen and (max-width: 380px){
	.entryBtn div .btn_column02 a{font-size: 95%;}
}

.cp-fb p,.kv-btn p {
	font-size: 18px;
	font-family: 'M PLUS Rounded 1c', "游ゴシック", "游ゴシック体", "Yu Gothic", YuGothic,"ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	padding: 10px 0;
	background-color: #f7f7f7;
	text-align: center;
}

.cp-fb .whole_btn ,.kv-btn .whole_btn{
	height: calc(100% - 49px);
}

.cp-fb .entry-btn_disabled ,.kv-btn .entry-btn_disabled {
	background-color: #f7f7f7;
	display: none;
}

.cp-fb.cp-fb_disabled .entry-btn_disabled ,.kv-btn.cp-fb_disabled .entry-btn_disabled {
	display: block;
}

.cp-fb.cp-fb_disabled .entry-btn_enabled ,.kv-btn.cp-fb_disabled .entry-btn_enabled{
	display: none;
}

.cp-fb.cp-fb_disabled .whole_btn ,.kv-btn.cp-fb_disabled .whole_btn{
	-webkit-tap-highlight-color: transparent;
	cursor: default;
}

@media only screen and (max-width: 768px) {
	.cp-fb p,.kv-btn p {
		font-size: 12px;
	}

	.cp-fb .whole_btn ,.kv-btn .whole_btn{
		height: calc(100% - 38px);
	}
}

@media only screen and (max-width: 374px) {
	.cp-fb p ,.kv-btn p{
		font-size: 11px;
	}

	.cp-fb .whole_btn,.kv-btn .whole_btn{
		height: calc(100% - 37px);
	}
}


/*dカードを持っていない方*/
.cpn_bnr_txt01{
	text-align: center;
	font-size: 25px;
	font-weight: 800;
    padding: 0 0 5px !important;
	font-family: "M PLUS 1p", sans-serif;
	color: #000;
}
.cpn_bnr_txt03{
	text-align: center;
	font-size: 25px;
	font-weight: 800;
    padding: 10px 0 0 !important;
	font-family: "M PLUS 1p", sans-serif;
	color: #000;
}
.dcard_red{
	text-align: center;
	font-size: 20px;
	border-radius: 20px;
	width: 33%;
	margin: auto;
	 font-family: "M PLUS 1p", sans-serif;
	color: #fff;
	background-color: #CC0033;
}

.bnr_gold{
	margin: 10px auto 0 !important;
}

@media only screen and (max-width: 768px){
	.cpn_bnr_txt01{
	font-size: 17px;
    padding: 0 0 5px !important;}
	
	.cpn_bnr_txt03{
	font-size: 17px;
    padding: 10px 0 0 !important;}

.dcard_red{
	font-size: 15px;
	width: 65%;
}
	}

/*d払いのおトクなキャンペーン*/
.cpn_bnr_txt02{
	text-align: center;
	font-size: 33px;
	font-weight: 800;
    padding: 40px 0 20px !important;
	font-family: "M PLUS 1p", sans-serif;
	color: #000;
}
.cp4_sp{display: none;}
.cp4_pc{display: block;}
@media only screen and (max-width: 768px){
	.cpn_bnr_txt02{
	font-size: 25px;
    padding: 30px 0 15px !important;
	line-height: 1.3em;
	}
	.cp4_pc{display: none;}
	.cp4_sp{display: block;}
}


/*---ランクアコーディオン---*/

.main .rank__body {
  overflow: hidden;
  border-radius:1.5em;
  padding: 0 0 2em;
  background-color: #fffad9;
	width: 80%;
	margin: 0 auto;
	border: 0.5em solid #ffc40f;
}

.main .rank__item {
  width: 94%;
  margin: 2em auto 0;
}

@media screen and (max-width: 768px) {
	.main .rank__body {
	border-radius:1.2em;
  padding: 0 0 1em;
	width: 90%;
	border: 0.3em solid #ffc40f;
}
	.main .rank__item {
  width: 94%;
  margin: 1em auto 0;
}

}

.main .rank__item + .rank__item {
  border-top: 1px solid #000;
  padding-top: 1.5em;
  margin-top: 1.5em;
}
.main .rank__item__q {
  display: flex;
  align-items: center;
  color: #000;
  position: relative;
  cursor: pointer;
}
.main .rank__item__q:hover {
  text-decoration: none;
}
.main .rank__item__q::after {
  content: "";
  display: block;
  position: absolute;
  right: 3.5em;
  top: calc(25% - 1em);
  width: 2em;
  height: 2em;
  border-style: solid;
  border-width: 0 5px 5px 0;
  border-color: transparent #000 #000 transparent;
  transform: rotate(45deg);
}


.main .rank__item__q p {
  flex: 1;
  font-size: 2.5em;
  font-weight: 800;
  padding: 0 1em;
  margin-right: 2em;
	text-align: center;
	font-family: "M PLUS 1p", sans-serif;
}
@media screen and (max-width: 768px) {
.main .rank__item__q p {
  flex: 1;
  font-size: 1.5em;
  font-weight: 800;
  padding: 0 1em;
  margin-right: 1em;
	text-align: center;
	font-family: "M PLUS 1p", sans-serif;
}
	.main .rank__item__q::after {
  content: "";
  display: block;
  position: absolute;
  right: 1.0em;
  top: calc(50% - 1em);
  width: 1em;
  height: 1em;
  border-style: solid;
  border-width: 0 3px 3px 0;
  border-color: transparent #000 #000 transparent;
  transform: rotate(45deg);
}
}

.main .rank__item__q.on::after {
  transform: rotate(-135deg);
  top: calc(50% - 0.5em);
}
.main .rank__item__q.on + .rank__item__a {
  margin-top: 1em;
  max-height: 40em;
}
.main .rank__item__a {
  max-height: 0;
  transition: 0.3s cubic-bezier(0, 1.16, 0.58, 1.33);
  overflow: hidden;
  display: flex;
  align-items: center;
}

.main .rank__item__a p {
  flex: 1;
  font-size: 1.25em;
  font-weight: 600;
  padding: 0 1em;
  margin-right: 2em;
}
@media screen and (max-width: 768px) {
  .main .rank__item__a p {
    font-size: 1em;
  }
}


.is-hidden {
  visibility: hidden;
  opacity: 0;}


.bnr_cp01{
	padding-top: 5em;
}

@media screen and (max-width: 768px) {
.bnr_cp01{
	padding-top: 2.2em;
}
}

/*終了*/
.info_cpn_end {
    padding: 1em;
    background-color: #fbf127;
}

.text_cpn_end {
    font-size: 1.8em;
    font-family: 'M PLUS 1p',sans-serif;
    font-weight: 900;
    color: #000000;
    padding: 0;
    text-align: center;
}

@media screen and (max-width: 768px) {
    .text_cpn_end {
        font-size: 4.8vw;
        padding: 0 1em;
        line-height: 1.4;
    }
}

