@charset "utf-8";

body {
    height: 100%;
    font-size: 12px;
    line-height: 1.4;
    position: relative;
    -webkit-text-size-adjust: 100%;
    -webkit-font-smoothing: antialiased;
    margin: 0;
    padding: 0;
    color: #333;
}

h1 img {
    box-sizing: border-box;
    border: solid 1px #e2e2e2;
}

.clearfix {
    zoom: 1;
}

.clearfix:after {
    display: block;
    clear: both;
    content: "";
}

/* */
.btn {
    margin-bottom: 30px !important;
}

.btn,
.box_inner {
    margin: 0 15px;
    text-align: center;
}

.btn:hover img,
a:hover {
    opacity: 0.8;
    filter: alpha(opacity=80);
    -ms-filter: "alpha(opacity=80)";
}

.btn:hover input {
    opacity: 0.9;
    filter: alpha(opacity=90);
    -ms-filter: "alpha(opacity=90)";
}

input[type="image"] {
    margin: 10px auto;
    max-width: 100%;
}

img {
    max-width: 100%;
    height: auto;
}

.fz_1-5 {
    font-size: 1.5em;
}

.m-50 {
    margin: 50px 0 0 !important;
}
.mt_0{
    margin-top: 0 !important;
}
.mt_20 {
    margin-top: 20px!important;
}
.mb_0{
    margin-bottom: 0 !important;
}
.mb_10 {
    margin-bottom: 10px!important;
}

.mb_20 {
    margin-bottom: 20px!important;
}

.mb_30 {
    margin-bottom: 30px !important;
}
.mb_40 {
    margin-bottom: 40px !important;
}
.mb_14 {
    margin-bottom: 14px !important;
}

.pt_10 {
  padding-top: 10px !important;
}

.pt_20 {
  padding-top: 20px !important;
}

.pt_30 {
  padding-top: 30px !important;
}




.align_c {
    text-align: center;
}

.align_l {
    text-align: left;
}

b {
    font-weight: bold;
}
.fw_b{
    font-weight: bold;
}

/* ボックス */
.box {
    margin: 0px auto;
}

.box_inner {
    overflow: hidden;
}

.box_inner p {
    line-height: 1.4;
}

.output {
    padding: 30px 0 10px;
}

.red {
    color: #c03 !important;
}

/*bnr*/
.bnr {
    max-width: 936px;
    width: 100%;
    display: block;
    margin: auto;
    margin-top: 50px;
}

/*footer*/
#footer_area li img {
    display: block;
}

/* コピーライト */
#copyright {
    font-size: 10px;
    padding: 20px 0;
    text-align: center;
    background: #d6d6d6;
}

.footerLnk2 li {
    font-size: 11px;
    line-height: 15px;
}

.footerLnk2 li a {
    color: #333;
    text-decoration: none;
    background-size: 6% auto;
    padding-right: 12px;
}

p#page-top {
    float: right;
}

.bgLine {
    background-size: 1% auto;
    padding: 10px 0 5px;
}

p.registNum {
    font-size: 11px;
    line-height: 25px;
    padding-left: 15px;
}

.point_table {
    display: block;
    margin: 30px auto;
    max-width: 750px;
    width: 100%;
}

.point_table img {
    max-width: 100%;
    margin: 0 auto;
}

@media screen and (max-width:905px) {
    #contents {
        overflow: hidden;
    }

    .point_table {
        margin: 4% auto;
    }
}

@media screen and (max-width:640px) {

    /*p {font-size:20px !important; line-height:36px}*/
    footer {
        padding: 10px 10px 50px;
    }

    footer .nav,
    footer .copyright {
        text-align: center;
        font-size: 22px !important;
        line-height: 30px;
        float: none
    }

    footer .nav li {
        float: none;
        margin-bottom: 10px;
        margin-right: 0;
    }

    .btn {
        float: none;
        text-align: center;
    }

    .btn img {
        width: 100%;
    }
}


/* アカウント情報 */
.account_wrap {
    position: relative;
    right: 0;
    left: 0;
    text-align: center;
}

.account {
    display: inline-block;
    margin: 20px auto 0;
    padding: 10px;
    border: 2px solid #cccccc;
    max-width: 100%;
    word-wrap: break-word;
}

.account_txt {
    font-size: 1.2em;
}

/* 加盟店ロゴエリア */
.title .pc {
    width: 600px;
    margin: auto;
    margin-top: 50px;
    margin-bottom: 20px;
}

.shop-listWrap {
    max-width: 580px;
    margin: 0 auto 30px;
    background: #fff;
}

.shop-list {
    max-width: 500px;
    width: 100%;
    margin: 0 auto;
    /*padding: 40px 13px 0;*/
    /*display: flex;
    flex-wrap: wrap;
    justify-content: space-around;*/
    background: #fff;
    overflow: hidden;
}
.shop-listWrap > .shop-list  {
  padding: 40px 13px 0;
}


/*=============-----
shop list floatArea
====================*/
.shop-list:after {
    content: "";
    display: block;
    clear: both;
}

.shop-list li {
  /*text-align: center;*/
}

.shop-list li:nth-child(odd) {
    float: left;
    /*margin-right: 3.5%;*/
}

.shop-list li:nth-child(even) {
  float: right;
}

.shop-list li:nth-of-type(3n) {
    margin-right: 0;
}


/*====================*/


.shop-link-list {
    /*display: none;*/
    /* flex-direction: column;
    justify-content: flex-start; */
}

.shop-link-list li {
    list-style: disc;
}

.show-list-array li {
    padding-left: 10px;
}

.array-order {
    position: relative;
    margin-bottom: 10px;
    padding: 10px 90px;
    background: #dddddd;
    color: #333;
    font-size: 26px;
    font-weight: bold;
    border-radius: 4px;
    cursor: pointer;
}

.array-order.arrow-right:before {
    position: absolute;
    content:'';
    width: 15px;
    height: 16px;
    top: 50%;
    transform: translateY(-50%);
    left: 32px;
    background: url(../../img/dp_present/arrow_right.png) no-repeat center;
    background-size: 100%;
}

.array-order.arrow-up:before {
    position: absolute;
    content:'';
    width: 15px;
    height: 16px;
    top: 50%;
    transform: translateY(-50%);
    left: 32px;
    background: url(../../img/dp_present/arrow_up02.png) no-repeat center;
    background-size: 100%;
}

.array-order.on.arrow-right:before {
    transform: translateY(-50%) rotate(-90deg);
}

@media screen and (max-width: 640px) {
    .array-order {
        padding: 10px 45px;
        font-size: 13px;
    }
    .array-order.arrow-right:before {
        left: 20px;
        width: 10px;
        height: 14px;
    }
    .array-order.arrow-up:before {
        left: 20px;
        width: 10px;
        height: 14px;
    }
}

.shop-list-txt{
    max-width: 580px;
    width: 100%;
    margin: auto;
    padding: 10px 10px 0 10px;
    text-align: left;
}

.borderG {
    border: 6px solid #4e010d;
    border-top: none;
}

.shop-list.borderR,
.shop-listWrap.borderR {
    border: 4px solid #cc0033;
    /*border-top: none;*/
}/*.shop-listWrap.borderR  20200917 add, edit*/

.shop-list li {
    width: 49%;
    margin-bottom: 6px;
    font-size: 24px;
    box-sizing: border-box;
}

.shop-list.shop-link-list {

    /*padding-left: 10%;*/
    padding-right: 10px;
    padding-bottom: 20px;
    padding-left: 6%;
}

.shop-list.shop-link-list li {
    width: 100%;
    margin-right: 0;
    padding-left: 0;
}

/*shop-list　ジャンル別　ロゴ調整　200928*/

.cvstore .shop-list li:nth-child(1) img {
  width: 94%;
  margin-top: 5px;
}

.shopping .shop-list li:nth-child(7) img {
  width: 92%;
}

.shopping .shop-list li:nth-child(8) img {
  /*width: 82%;*/
  width: 86%;
}



@media screen and (max-width: 520px) {
    .shop-list.shop-link-list {
        padding-left: 10%;
    }
}

@media screen and (max-width: 380px) {
    .shop-list.shop-link-list {
        padding-left: 15%;
    }

    .cvstore .shop-list li:nth-child(1) img {
      margin-top: 2px;
    }
}


/* .shop-list li a {
    height: 100%;
    display: block;
    box-sizing: border-box;
    text-decoration: none;
    color: #000;
    box-shadow: 0px 0px 3px 1px #ccc;
    -moz-box-shadow: 0px 0px 3px 1px #ccc;
    -webkit-box-shadow: 0px 0px 3px 1px #ccc;
} */
.shop-list .shop-list-link {
    position: relative;
    display: block;
}

.shop-list .shop-list-link:after {
    position: absolute;
    content:'';
    background-image: url(../../img/dp_present/link_icon.png);
    right: 0;
    bottom: 0;
    width: 15px;
    height: 15px;
    background-size: cover;
}

.shop-list li .shop-thumb {
    position: relative;
    background: #FFF;
}

.shop-list li .shop-thumb img {
    display: block;
    width: 100%;
    height: auto;
    margin: 0 auto;
}
/*
.gurumet .shop-list li:nth-child(4) .shop-thumb img {
    width: 93%;
    margin-top: 0.3vh;
    vertical-align: middle;
}
_:-ms-lang(x)::backdrop, .selector {
  .gurumet .shop-list li:nth-child(4) .shop-thumb img {
      width: 93%;
      margin-top: 0.3vh;
      vertical-align: middle;
  }
}*/

.shop-list li .shop-category {
    font-size: 14px;
    text-align: center;
}

.attentionwrap {
    max-width: 750px;
    margin: auto;
    padding-top: 10px;
    padding-left: 18px;
    margin-bottom: 25px;
}

.attention {
    width: 100%;
    margin: 0 auto;
    padding-left: 1em;
    text-indent: -1em;
    margin-bottom: 10px;
}

.attention a {
    color: #093475;
    text-decoration: underline;
}

.attention a:hover,
a:active {
    text-decoration: none;
}

.winIcon,
.newwindow {
    display: inline-block;
    width: 15px;
    height: 9px;
    padding-right: 6px;
    background-image: url(https://service.smt.docomo.ne.jp/keitai_payment/common/images/icon_newwindow_01.png);
    background-repeat: no-repeat;
    background-position-x: 3px;
    background-position-y: center;
}

/* キャンペーンバナーエリア（ 200*200 ×2 ） */
.cpn_banner {
    width: 750px;
    height: 100%;
    margin: 0 auto;
    margin-top: 10px;
    text-align: center;
}

.cpn_banner li {
    width: 200px;
    float: left;
    margin-right: 50px;
}

.cpn_banner li:last-child {
    margin-right: 0;
}

.cpn_banner li a {
    display: block;
}

.campaign_banner {
    width: 100%;
    margin: 0 auto;
    margin-top: 50px;
    text-align: center;
    color: #333;
}

.campaign_banner strong {
    display: block;
    margin: 0 0 8px 0;
    font-size: 25px;
    font-weight: bold;
}

@media screen and (max-width: 767px) {
    .shop-listWrap {
        width: 100%;
    }

    .campaign_banner {
        margin-top: 5%;
        color: #333;
    }

    .campaign_banner strong {
        display: block;
        margin: 0 0 8px 0;
        font-size: 130%;
        font-weight: bold;
    }

    .shop-list .shop-list-link:after {
        width: 10px;
        height: 10px;

    }
}

/* ======================

	campaign_info

=========================*/
h2.cpTitle {
    padding: 4px 0;
    margin: 40px 0 16px 0;
    font-size: 180%;
    font-weight: bold;
    text-align: center;
    border-top: 2px solid #ff0653;
    border-bottom: 2px solid #ff0653;
}

.cpSection {
    margin: 0 0 24px 0;
    padding: 0 0 24px 0;
    border-bottom: 1px solid #bfbfbf;
}

.cpSection>a {
    display: block;
    float: left;
    width: 38%;
}

.cpSection>p {
    float: right;
    width: 62%;
}

.cpSection strong {
    display: block;
    margin: 0 0 8px 0;
    font-size: 140%;
    font-weight: bold;
}

.cpSection strong>a {
    color: #333;
}

.cpSection p>a {
    display: block;
    margin: 4px 0 0 0;
    text-align: right;
}

@media screen and (max-width:640px) {
    .cpSection {
        margin: 0 0 12px 0;
        padding: 0 0 12px 0;
    }

    .cpSection>a {
        width: 33%;
    }

    .cpSection>p {
        width: 60%;
    }

    .cpSection strong {
        font-size: 110%;
    }

    .cpSection p>a {
        font-size: 100%;
    }
}

/* ======================

	odekake

=========================*/
* {
    box-sizing: border-box;
}

a {
    text-decoration: none;
    font-weight: bold;
}

main {
    display: block;
    /* padding-bottom: 20px; */
}

.contents-wrap {
    max-width: 1000px;
    margin: 0 auto;
}

.pc-block {
    display: none;
}

.lead_txt {
    margin: 18px 0;
    font-weight: bold;
    font-size: 14px;
    text-align: center;
    color: #212b4f;
}

/* ラジオ */
.label {
    background: #fff;
    border: #ff0653;
}

.inner,
.box_inner,
.footerLnk2 {
    padding: 0 15px;
    max-width: 1000px;
    margin: 0 auto;
}

.sel-txt01 {
    margin-left: 25px;
    font-size: 15px;
}

.goods_corner .sel-txt01 {
    display: block;
    margin-left: 0;
    padding: 10px 5px 10px 33px;
    line-height: 1.2;
}

.sel-txt02 {
    color: #fff;
    font-size: 12px;
}

.radio_btn {
    padding-bottom: 20px;
}

.radio_btn h2 {
    background: #212b4f;
    color: #fff;
    text-align: center;
    font-size: 15px;
    font-weight: bold;
    display: block;
    line-height: 1;
    padding: 10px;
    position: relative;
}

.radio_btn input {
    display: none;
}

.radio_btn label {
    display: block;
    position: relative;
    cursor: pointer;
    border-radius: 2px;
    color: #212b4f;
    font-size: 14px;
    line-height: 1;
    font-weight: bold;
    margin: 25px 0px;
}

.goods_corner li {
    background: #ff55a6;
    color: #212b4f;
    margin: 10px 0;
    z-index: 100;
}

.goods_corner label {
    margin: 0;
}

.goods_pic {
    text-align: center;
    padding: 10px;
}

.goods_pic img {
    max-width: 250px;
}

.radio_btn label:before {
    position: absolute;
    content: "";
    top: 9px;
    left: 2px;
    width: 18px;
    height: 18px;
    margin-top: -10px;
    background: #bdc3c7;
    border-radius: 50%;
}

.radio_btn input[type="radio"]:checked+label:after {
    position: absolute;
    content: "";
    top: 8px;
    left: 7px;
    width: 8px;
    height: 8px;
    margin-top: -4px;
    border-radius: 50%;
    background: #cc0033;
}

.goods_corner label:before {
    position: absolute;
    content: "";
    top: 18px;
    left: 6px;
    width: 18px;
    height: 18px;
    margin-top: -10px;
    background: #fff;
    border-radius: 50%;
}

.goods_corner input[type="radio"]:checked+label:after {
    position: absolute;
    content: "";
    top: 17px;
    left: 11px;
    width: 8px;
    height: 8px;
    margin-top: -4px;
    border-radius: 50%;
    background: #212b4f;
}

/* Agreement */
.agreement {
    font-size: 14px;
}

.agreement a {
    text-decoration: underline;
    color: #cc0033;
}

/*  footer */
footer {
    background: #333;
    padding: 20px 0;
}

footer p {
    color: #fff;
    font-size: 12px;
    text-align: center;
}

/*==============

finish

================*/
.entryFinish h2 {
    margin: 30px 0px;
}

.com_btn {
    /* margin: 30px 0; */
}

.com_btn a {
    background: #666;
    padding: 10px;
    display: block;
    text-align: center;
    color: #fff;
    border-radius: 20px;
    font-size: 15px;
    position: relative;
}

.cpTop a {
    background: #ff0653;
    display: block;
    margin: auto;
    max-width: 580px;
}

.com_btn .arrowL:after {
    content: "";
    display: inline-block;
    left: 26px;
    top: 17px;
    width: 10px;
    height: 10px;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    -webkit-transform: rotate(-135deg);
    transform: rotate(-135deg);
    position: absolute;
}

.com_btn .arrowR:after {
    content: "";
    display: inline-block;
    right: 26px;
    top: 17px;
    width: 10px;
    height: 10px;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    position: absolute;
}

@media screen and (max-width:640px) {

    .com_btn .arrowR:after {
        top: 15px;
    }
}

@media screen and (max-width:360px) {
    .com_btn a {
        font-size: 14px;
    }

    .com_btn .arrowR:after {
        right: 9px;
        top: 14px;
        width: 7px;
        height: 7px;
    }
}

.april_cmpbnr a img {
    margin: 20px;
}

.single_cmpbnr a img {
    margin: 20px 0;
}


@media screen and (max-width:767px) {
    .campaign_banner strong {
        display: block;
        margin: 0 0 8px 0;
        font-size: 110%;
        font-weight: bold;
    }

    .april_cmpbnr a img {
        max-width: 40%;
        margin: 3%;
    }

    .single_cmpbnr a img {
        max-width: 94%;
        margin: 3%;
    }
}

.com_btn .submitButton {
    background: #666;
    padding: 20px;
    display: block;
    text-align: center;
    color: #fff;
    border-radius: 30px;
    font-size: 22px;
    position: relative;
    width: 100%;
    cursor: pointer;
}

.cpTop .submitButton {
    background: #ff0653
}

.com_btn .submitButton:after {
    content: "";
    display: inline-block;
    right: 26px;
    top: 27px;
    width: 10px;
    height: 10px;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    position: absolute;
}

.submitButton {
    font-family: Arial, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
    font-size: 15px;
    font-weight: bold;
    border: none;
}

.submitButton:hover {
    opacity: 0.8;
    filter: alpha(opacity=80);
    -ms-filter: "alpha(opacity=80)";
}


@media screen and (max-width:640px) {
    .entryFinish h2 {
        font-size: 18px;
    }
}


/*==============

 error

================*/
.err_txt {
    text-align: center;
    color: #cc0033;
    margin: 10px 30px;
    font-size: 14px;
}

.com_txt {
    text-align: center;
    font-size: 20px;
    font-weight: bold;
    min-height: 70px;
    color: #212b4f;
}

.Errer .com_txt {
    font-size: 18px;
}

/*==============

 notentry

================*/
.not_entry h2 {
    text-align: center;
    font-size: 26px;
    margin: 30px;
    color: #212b4f;
    font-weight: bold;
}

.not_entry p {
    margin: 15px 0 30px;
    font-size: 14px;
}

/*==============

 error_term

================*/
.error_term h2 {
    text-align: center;
    font-size: 26px;
    margin: 30px;
    color: #212b4f;
    font-weight: bold;
}

.error_term p {
    margin: 15px 0 30px;
    font-size: 14px;
}

/*==============

 status

================*/
/* キャンペーンバナーエリア（ 1000*300  x1 ） */
@media screen and (max-width: 767px) {
    .single_cmpbnr_status a img {
        max-width: 87%;
    }
}

@media screen and (min-width: 768px) {
    .single_cmpbnr_status a img {
        max-width: 82%;
    }

    .sp-block {
        display: none;
    }
    main,
    .pc-block {
        display: block;
        margin: 0 auto;
    }
}


@media screen and (max-width: 640px) {
    .not_entry h2 {
        font-size: 15px;
    }
}

@media screen and (max-width: 640px) {
    .error_term h2 {
        font-size: 15px;
    }
}


@media screen and (min-width:640px) {
  /*
    .sp-block {
        display: none;
    }

    main,
    .pc-block {
        display: block;
        margin: 0 auto;
    }*/

    .lead_txt {
        font-size: 20px;
        margin: 36px 0 10px;
    }

    /* ラジオ */
    .radio_btn ul {
        display: flex;
        flex-wrap: wrap;
        width: 100%;
        justify-content: space-between;
    }

    .radio_btn li {
        width: 48%;
    }

    .sel-txt01 {
        margin-left: 30px;
        font-size: 20px;
    }

    .goods_corner .sel-txt01 {
        min-height: 60px;
        padding: 10px 5px 10px 44px;
    }

    .sel-txt02 {
        font-size: 18px;
    }

    .radio_btn h2 {
        font-size: 30px;
    }

    .radio_btn label:before {
        top: 13px;
    }

    .goods_corner label:before {
        top: 21px;
        left: 14px;
    }

    .radio_btn input[type="radio"]:checked+label:after {
        top: 12px;
    }

    .goods_corner input[type="radio"]:checked+label:after {
        top: 20px;
        left: 19px;
    }

    .radio_btn {
        padding-bottom: 20px;
    }

    .agreement {
        font-size: 18px;
    }

    .btn {
        margin-bottom: 30px !important;
    }

    .btn {
        margin: 0 15px;
    }

    /* finish */
    .EntryPage .inner,
    .Alredy .inner,
    .Finish .inner,
    .Error_term .inner,
    .Notentry .inner {
        max-width: 610px;
    }

    .err_txt {
        margin: 30px;
    }

    .com_btn a {
        font-size: 18px;
    }

    .com_btn .submitButton {
        font-size: 22px;
    }

    .Status .inner {
        max-width: 750px;
    }
}

@media only screen and (max-width: 640px) {

    /* 加盟店ロゴエリア */
    .title .sp {
        display: block;
        max-width: 350px;
        width: 80%;
        margin: auto;
        margin-top: 30px;
        margin-bottom: 20px;
    }

    /*.shop-list {
        width: 100%;
        margin: auto;
        padding: 30px 13px 0;
    }*/
    .shop-list-txt{
        width: 100%;
        margin: auto;
        padding: 0 13px 0;
    }
     .shop-list li {
        /*width: 31%;*/
        height: auto;
        margin-bottom: 10px;
        font-size: 12px;
        box-sizing: border-box;
    }

    .shop-link-list {
        padding: 0 15px 0;
    }

    .shop-link-list li {
        width: 100%;
    }

    /* .shop-list li a {
        padding-top: 1px;
        display: block;
        box-sizing: border-box;
        text-decoration: none;
        color: #000;
        height: auto;
        box-shadow: 0px 0px 3px 1px #ccc;
        -moz-box-shadow: 0px 0px 3px 1px #ccc;
        -webkit-box-shadow: 0px 0px 3px 1px #ccc;
    } */

    .shop-list li .shop-thumb img {
        display: block;
        width: 100%;
        margin: 0 auto;
    }

    .shop-list li .shop-category {
        height: 20px;
        font-size: 9px;
        line-height: 13px;
        text-align: center;
        padding: 15px 0;
    }

    .shop-list.borderG {
        border: 3px solid #27af88;
        border-top: none;
    }

    .attentionwrap {
        width: 90%;
        margin: auto;
        padding-top: 10px;
        padding-left: 0px;
    }

    .attention {
        width: 100%;
        font-size: 100%;
        padding-left: 1em;
        text-indent: -1em;
        margin-bottom: 10px;
    }

    .attention a {
        color: #093475;
        text-decoration: underline;
    }

    .attention a:hover,
    a:active {
        text-decoration: none;
    }

    .winIcon,
    .newwindow {
        display: inline-block;
        width: 15px;
        height: 9px;
        padding-right: 6px;
        background-image: url(https://service.smt.docomo.ne.jp/keitai_payment/common/images/icon_newwindow_01.png);
        background-repeat: no-repeat;
        background-position-x: 3px;
        background-position-y: center;
    }

    /*bnr*/
    .bnr {
        width: 100%;
        margin-top: 30px;
    }

    /* キャンペーンバナーエリア（ 200*200 ×2 ） */
    .cpn_banner {
        width: 100%;
        height: 100%;
        padding: 0 4%;
    }

    .cpn_banner li {
        width: 48%;
        margin-right: 4%;
    }
}

.banner {
    width: 80%;
    max-width: 600px;
    display: block;
    margin: 20px auto;
}

@media only screen and (max-width: 480px) {

    /* 加盟店ロゴエリア */
    .shop-listWrap > .shop-list {
        padding: 20px 5px 0;
    }
}



/*==============

 20200720 add

================*/

.bgGray {
    background: #efefef;
}
.bg-white{
    background: #fff;
}
.bgDeco {
    background: url(../../img/dp_present/bg_deco.png);
    background-repeat: no-repeat;
    background-position: 50% 100px;
}

@media screen and (max-width:767px) {
    .bgDeco {
        background-size: contain;
    }
}

.contentImgArea {
    /*margin-bottom: 30px;*/
    margin-bottom: 10px;
    padding: 16px 0;
    text-align: center;
}

.entryInfoArea {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    padding: 16px 0;
    text-align: center;
    z-index: 120;
}

.com_btn .appButton {
    background: #666;
    padding: 20px;
    display: block;
    text-align: center;
    color: #fff;
    border-radius: 30px;
    font-size: 22px;
    position: relative;
    width: 100%;
    cursor: pointer;
}

.cpTop .appButton {
    background: #ff0653
}

.com_btn .appButton:after {
    content: "";
    display: inline-block;
    right: 26px;
    top: 27px;
    width: 10px;
    height: 10px;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    position: absolute;
}

.appButton {
    font-family: Arial, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
    font-size: 15px;
    font-weight: bold;
    border: none;
}

.appButton:hover {
    opacity: 0.8;
    filter: alpha(opacity=80);
    -ms-filter: "alpha(opacity=80)";
}

.logoTitle {
    margin: 0 0 30px;
    padding: 0 15px;
    text-align: center;
    font-size: 24px;
}

.typeTitle {
    text-align: center;
}

.entryFinish .campaignText {
    font-size: 22px;
}

.bannerArea {
    margin-top: 60px;
    margin-bottom: 50px;
    padding: 0 15px;
}

.bnrText {
    padding-bottom: 30px;
    font-size: 32px;
    font-weight: bold;
}

.bnrText span {
    color: #cc0033;
}

.logoWrap {
    padding: 96px 0 30px;
    background-color: #dddddd;
}


/*200923*/

.link-area {
    max-width: 480px;
    margin: 0 auto;
    padding: 0;
    display:flex;
    flex-wrap: wrap;
    justify-content: center;
}

.link-area >  li:nth-child(odd) {
    width: 32%;
    padding-left: 2%;
}
.link-area > li:nth-child(even) {
    width: 45%;
}

.link-area > li a {
    color: #333;
    font-size: 24px;
    line-height: 1;
    display: block;
    text-decoration: underline;
    position: relative;
    padding-left: 10px;
    margin-bottom: 20px;
}

.link-area > li a:before {
    content: "";
    display: inline-block;
    position: absolute;
    left: 8px;
    top: 5px;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 10px 0 0 10px;
    border-color: #333333 transparent transparent transparent;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}

@media screen and (max-width:640px) {

    .logoTitle {
        font-size: 16px;
    }

    .logoTitle span {
        font-size: 22px;
    }

    .bnrText {
        padding-bottom: 15px;
        font-size: 18px;
    }

    /*.logoWrap {
        padding: 30px 0 30px;
    }*/

}

@media screen and (max-width:520px) {
  .logoWrap {
      padding: 70px 0 20px;
  }

}

@media screen and (max-width:480px) {

  .link-area > li:nth-child(even) {
      width: 42%;
  }

  .link-area > li a {
      font-size: 16px;
  }

  .link-area > li a:before {
    border-width: 6px 0 0 6px;
  }
}


@media screen and (max-width:380px) {

  .logoWrap {
      padding: 50px 0 30px;
  }

  .link-area > li:nth-child(even) {
      width: 50%;
  }
}

@media screen and (max-width:320px) {
  .link-area > li:nth-child(odd) {
    padding-left: 0;
  }
  .link-area > li a {
      font-size: 14px;
  }

}



/*appDLbtn*/
.ua_ios,
.ua_andr,
.ua_pc {
    display: none;
}

.dlBtnArea {
    margin: 70px auto;
}

.dlBtnArea .dlBtn {
    max-width: 406px;
    margin: 0 auto;
}

.dlBtnArea .appText {
    margin-bottom: 10px;
    font-size: 36px;
    color: #333;
    line-height: 1.4;
    font-weight: bold;
}

.dlBtnArea .appText span {
    color: #d00e31;
    font-size: 42px;
}

@media only screen and (max-width: 640px) {
    .dlBtnArea {
        margin: 50px auto;
    }

    .dlBtnArea .appText {
        margin-bottom: 10px;
        font-size: 18px;
    }

    .dlBtnArea .appText span {
        color: #d00e31;
        font-size: 21px;
    }
}

.dlBtn a {
    display: inline-block;
    margin: 0 5px;
    letter-spacing: normal;
}

@media only screen and (max-width: 640px) {
    .dlBtn.ua_pc a.btn_app {
        width: 43%;
        margin: 0;
    }

    .dlBtn.ua_pc a.btn_andr {
        width: 53%;
        margin: 0 0 0 4%;
    }
}

.com_btn01,
.com_btn02 {
    margin: 30px 0;
}

.com_btn02 {
    clear:both;
}

.com_btn03{
    margin: 15px;
}

.com_btn01 .btnType01 {
    background: #fff100;
    padding: 10px;
    display: block;
    text-align: center;
    color: #333;
    border-radius: 5px;
    font-size: 22px;
    position: relative;
    width: 100%;
    cursor: pointer;
    box-shadow: 0px 5px 0px 0px #ffbd3f;
    -moz-box-shadow: 0px 5px 0px 0px #ffbd3f;
    -webkit-box-shadow: 0px 5px 0px 0px #ffbd3f;
}

.com_btn01 .btnType01:after {
    content: "";
    display: inline-block;
    right: 26px;
    top: 17px;
    width: 10px;
    height: 10px;
    border-top: 2px solid #333;
    border-right: 2px solid #333;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    position: absolute;
}

.com_btn02 .btnType02 {
    position: relative;
    background-color: #fff;
    padding: 10px;
    display: block;
    text-align: center;
    color: #707070;
    font-size: 22px;
    width: 100%;
    cursor: pointer;
    border: 2px solid #707070;
}

.com_btn02 .btnType02>img {
    position: absolute;
    top: 50%;
    right: 26px;
    transform: translateY(-50%);
    width: 17px;
    height: 15px;
}

.com_btn02 .btnType02 {
    position: relative;
}

.com_btn02 .btnType02 .btn-arrow {
    position: absolute;
    right: 22px;
    top: 50%;
    transform: translateY(-50%);
    width: 17px;
    height: 15px;
    background: url(../../img/dp_present/arrow_down.png) no-repeat center;
    transform-origin: center;
}

.com_btn02 .btnType02.on .btn-arrow {
    transform: translateY(-50%) rotate(-180deg);
}

.com_btn03 .btnType03{
    position: relative;
    display: block;
    padding: 14px;
    width: 100%;
    background: #12a77c;
    border-radius: 5px;
    font-size: 14px;
    color: #fff;
    text-align: center;
    box-shadow: 0px 5px 0px 0px #005c41;
    -moz-box-shadow: 0px 5px 0px 0px #005c41;
    -webkit-box-shadow: 0px 5px 0px 0px #005c41;
    cursor: pointer;
}
.com_btn03 p{
    margin: 7px 0 0;
    font-size: 12px;
    text-align: center;
    color: #333;
}
.com_btn03 .arrowR:after{
    top: 19px !important;
    width: 7px;
    height: 7px;
}


/*==============

 20200917 add

================*/

/*現地からさがす*/
.com_btn04 {
  position: relative;
}

.com_btn04:before {
  content: "";
  position: absolute;
  right: -7px;
  bottom: -7px;
  width:100%;
  height:100%;
  background: #ccc;
  display:block;
  border: 2px solid #707070;
  box-sizing: border-box;
}

.com_btn04 .btnType04 {
  background: #fff;
  padding: 10px;
  display: block;
  text-align: center;
  color: #707070;
  font-size: 22px;
  position: relative;
  width: 100%;
  cursor: pointer;
  border: 2px solid #707070;
  transition: background-color 0.3s ease-in, transform 0.2s ease-in;
}

.com_btn04 .btnType04:after {
  content: "";
  display: inline-block;
  position: absolute;
  right: 26px;
  top: 20px;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 12px 0 0 12px;
  border-color: #333333 transparent transparent transparent;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}

.com_btn04 .btnType04:hover {
  opacity: 1;
  background: #eee;
  transform: translate(2px,2px);
}






@media screen and (max-width:640px) {

    .com_btn01 .btnType01,
    .com_btn02 .btnType02,
    .com_btn04 .btnType04 {
        font-size: 14px;
    }

    .com_btn01 .btnType01:after {
        right: 15px;
        top: 13px;
    }

    .com_btn02 .btnType02:after {
        right: 16px;
        top: 15px;
        width: 13px;
        height: 11px;
    }

    .com_btn02 .btnType02>img {
        width: 13px;
        height: 11px;
    }

    .com_btn02 .btnType02 .btn-arrow {
        right: 13px;
        width: 11px;
        background-size: contain;
    }

    .com_btn04 .btnType04:after {
      top:15px;
      border-width: 8px 0 0 8px;
    }


}

.recommendArea {
    background-color: #cc0033;
}
/*
.logoWrap {
    position: relative;
    background-image: url(../../img/dp_present/bg_deco_cloud.png), url(../../img/dp_present/bg_01.png);
    background-position: top, bottom;
    background-repeat: no-repeat;
}

.logoWrap:before {
    content: '';
    position: absolute;
    background-image: url(../../img/dp_present/bg_deco_cloud.png);
}*/

.textArea01 {
    /*padding-bottom: 100px;*/
    padding-bottom: 45px;
}

@media screen and (max-width:640px) {
    .logoWrap {
        background-position: top, bottom left 63%;
        background-repeat: no-repeat;
        background-size: 130%;
    }

    .textArea01 {
        padding-bottom: 6vw;
    }
}

@media screen and (max-width:768px) {
    .logoWrap {
        /*padding: 30px 15px 0;*/
        padding-left: 15px;
        padding-right: 15px;
    }
}

/*------------ご注意事項------------*/
.campaign_notesWrap {
    max-width: 800px;
    margin: 0 auto;
}

.campaign_notesBtnWrap {
    position: relative;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    /* -webkit-box-shadow: 0px 4px 0px rgba(208, 14, 49, 1.0);
    box-shadow: 0px 4px 0px rgba(208, 14, 49, 1.0); */
    border: 3px solid #D00E31;
    -webkit-border-radius: 3px;
    border-radius: 3px;
    background-color: #fff;
}

.campaign_notesBtn {
    display: table;
    width: 100%;
}

.shadow_js {
    -webkit-box-shadow: none;
    box-shadow: none;
    -webkit-border-radius: 3px 3px 0 0;
    border-radius: 3px 3px 0 0;
}

.campaign_notesFlame {
    display: block;
    border-left: 3px solid #D00E31;
    border-right: 3px solid #D00E31;
    border-bottom: 3px solid #D00E31;
    box-sizing: border-box;
    -webkit-box-sizing: border-box;
    border-radius: 0 0 3px 3px;
    -webkit-border-radius: 0 0 3px 3px;
}

.campaign_notesList {
    padding: 20px;
    margin: -1px 0 0;
    font-size: 14px;
}

.campaign_notesTtl {
    font-weight: bold;
}

.campaign_notesSubttl {
    margin-top: 20px;
}

.campaign_notesItem a {
    color: #cc0033;
    text-decoration: underline;
}

.notesIndent {
    text-indent: -1em;
    padding-left: 1em;
}

.notesIndent02 {
    text-indent: -3em;
    padding-left: 3em;
}

.pagetopBtn {
    z-index: 3;
}

@media only screen and (max-width: 720px) {
    .campaign_notesBtn {
        font-size: 16px;
    }
}

@media only screen and (max-width: 640px) {
    .campaign_notesBtn {
        display: table;
        width: 100%;
        box-sizing: border-box;
        -webkit-box-sizing: border-box;
    }

    .campaign_notesList {
        font-size: 12px;
    }
}

@media only screen and (max-width:480px) {
    .campaign_notesList {
        padding: 10px;
    }
}

/*--ie11にてサイズ調整200918--*/
@media all and (-ms-high-contrast: none) {
  *::-ms-backdrop, .campaign_notesBtn img{
    /* IE11 にのみ */
    width:100%;
  }
  .hoge {
    /* IE10 以降*/
.campaign_notesBtn img {
    width:100%;
    }
  }

}


.accordionArea,
.accordionArea01,
.accordionArea02,
.accordionArea03,
.accordionArea04,
.accordionArea05,
.accordionArea06 {
    display: none;
}
.accordionArea.active,
.accordionArea01.active,
.accordionArea02.active,
.accordionArea03.active,
.accordionArea04.active,
.accordionArea05.active,
.accordionArea06.active {
    display: block;
}

.recommendTitle {
    padding: 30px 0;
    text-align: center;
}

.recommendImg {
    padding-bottom: 30px;
}

.campaignRullArea {
    /* margin-bottom: 40px; */
}

.fixedBtn_close {
    position: absolute;
    top: 14px;
    right: 10px;
    display: block;
    width: 15px;
    height: 15px;
}

.fixedBtn_close:before,
.fixedBtn_close:after {
    position: absolute;
    top: 0;
    left: 0;
    display: inline-block;
    content: "";
    width: 17px;
    height: 3px;
    background: #c4c4c4;
    transform-origin: center;
}

.fixedBtn_close:before {
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
}

.fixedBtn_close:after {
    -webkit-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    transform: rotate(-45deg);
}

@media screen and (max-width:640px) {

    .fixedBtn_close {
        top: 10px;
        right: 5px;
    }

    .fixedBtn_close:before,
    .fixedBtn_close:after {
        height: 2px;
    }
}


.cam_btn a {
    display: inline-block;
    position: relative;
    padding: 13px 15px 10px 0;
    width: 670px;
    background-color: #cc0033;
    border: 2px solid #cc0033;
    border-radius: 14px;
    color: #fff;
    font-size: 200%;
    font-weight: bold;
    line-height: 1.1em;
    text-decoration: none;
    box-shadow: 0px 8px 0px 0px #ae0035;
}

.cam_btn a span {
    font-size: 14px;
    font-weight: normal;
}

.com_btn .arrowR:after {
    top: 33px;
}

/* .com_btn .arrowRC:after{
    top: 50%;
    transform: translateY(-50%);
} */
@media screen and (max-width:640px) {
    .cam_btn a {
        display: inline-block;
        position: relative;
        padding: 13px 0 10px;
        width: 96%;
        background-color: #cc0033;
        border: 2px solid #cc0033;
        border-radius: 10px;
        color: #fff;
        font-size: 20px;
        font-weight: bold;
        line-height: 1.25em;
        text-decoration: none;
        box-shadow: 0px 6px 0px 0px #ae0035;
        cursor: pointer;
    }

    .com_btn .arrowR:after {
        top: 30px;
    }
}


/* ver1 */
/* .m-footer-copyright{
    padding: 40px 0;
}

@media only screen and (max-width: 590px) {
    .m-footer-copyright{
        padding: 5.2vw 0;
    }
}
@media only screen and (max-width: 470px) {
    .m-footer-copyright{
        padding: 4vw 0;
    }
}
@media only screen and (max-width: 410px) {
    .m-footer-copyright{
        padding: 2.5vw 0;
    }
} */

/* ver2 8/3 ~ */
.m-footer-copyright{
    padding: 0px 0 0;
}
.entryInfoArea .txtEntry{
    width: 60%;
}

@media screen and (min-width: 1200px) {
    .m-footer-copyright{
        padding: 13px 0 0;
    }
}

.com_btn .arrowR:after {
    top: 50%;
    transform: rotate(45deg )translateY(-50%);
}
.entryInfoArea {
    padding: 16px 0 18px;
}

.download-link {
    text-decoration: underline;
    color:#cc0033;
    margin-left:10px;
    font-size: 0.8em;
}


/*----------------200917 add-------
--------*/

.attentionText01 {
  font-size: 12px;
  margin-top: 30px;
}

.attentionText01 li {
  padding-left: 0.8em;
  text-indent: -0.5em;
  margin-bottom: 8px;
}

.attentionText01 li:before {
  content: '・';
  display: inline-block;
}
.attentionText01 li:first-child {
  font-weight: bold;
}


.attentionText02 {
  font-size: 12px;
  margin-bottom: 20px;
}

.attentionText02 li {
  padding-left: 1.2em;
  text-indent: -0.6em;
  margin-bottom: 4px;
}

.attentionText02 li:before {
  content: '※';
  display: inline-block;
  padding-right:3px;
}

/*201130*/
.attentionText03 {
  font-size: 16px;
  font-weight: bold;
  margin: 10px 20px 20px;
  padding: 5px;
}

.attentionText03 strong {
  display: block;
}
.attentionText03 span {
  display: block;
  padding-left: 8px;
}

@media screen and (max-width: 380px) {
  .attentionText03 {
    font-size: 13px;
  }
}


/*10月のお買い物ラリー対象加盟店は*/
.octShops {
  max-width: 580px;
  margin: 0 auto 30px;
  background-color: #fff;
  border: 4px solid #cc0033;
  position: relative;
  padding-bottom: 8px;
}

.octShops .logoTitle {
  position: absolute;
  top:-40px;
}

.p_title {
  margin:50px auto 30px;
  padding:0 5%;
  text-align: center;
}

.p_title img {

  text-align: center;
}

.container {
  position: relative;
  margin-bottom: 70px;
}

.container .typeTitle {
  width:100%;
  position: absolute;
  top:-40px;
  z-index: 2;
}

@media screen and (max-width: 640px) {

  .container .typeTitle {
    padding: 0 7%;
  }
}

@media screen and (max-width: 520px) {

  .container {
    margin-bottom: 50px;
  }

  .container .typeTitle {
    width:100%;
    position: absolute;
    top:-20px;
    z-index: 100;
  }

}

@media screen and (max-width: 380px) {
  .p_title {
    margin:30px 0 20px 0;
  }
}

/****終了のお知らせ　20201028***/

.entryInfoArea {
    padding: 16px 0 18px;
}

.download-link {
    text-decoration: underline;
}

.cpCloseAlertWrp {
    max-width: 1000px;
    margin: 0 auto;
    display: table;
    width: 100%;
}

.cpCloseAlert {
    padding-left: 19px;
    padding-bottom: 3px;
    color: #C70014;
    font-size: 14px;
    font-weight: bold;
    margin: 25px 20px 20px;
    padding: 15px;
    border: solid 1px #df6177;
    border-radius: 5px;
    background-color: #fcf0f2;
    margin-bottom: 30px;
    text-align: justify;
}
@media screen and (max-width: 380px) {
  .cpCloseAlert {
    margin-bottom: 10px;
  }
}
