@charset "UTF-8";
/* ---------------------------------------------------------------------------------

汎用クラス

----------------------------------------------------------------------------------- */
.fc_orange{
  color: #ff9900;
}
.fs_big{
  font-size: 6.0rem;
}
.whitespace{
  width: auto;
  padding: 0 30px;
  margin: 0;
}

/*----------------------------------------------------------------------------------
 210201公開分　追記
---------------------------------------------------------------------------------- */
.campaign__notes .fwB__underline{
  text-decoration: underline;
  font-weight: bold !important;
}


/*----------------------------------------------------------------------------------
190816公開 追加
---------------------------------------------------------------------------------- */
.txtAL {
  text-align: left;
}

/* --------------------------------------------------------------------------------------

191001 追加分

--------------------------------------------------------------------------------------- */
.pt30 {
  padding-top: 30px;
}

.mt30 {
  margin-top: 30px;
}

.mt40 {
  margin-top: 40px;
}

.pr30 {
  padding-right: 30px;
}

.pl30 {
  padding-left: 30px;
}

.fw_b {
  font-weight: bold;
}

.fc_red {
  color: #c80000 !important;
}

.border_top {
  border-top: dashed 2px #232f3e;
}

.border {
  border: solid 4px #76cdd4;
  max-width: 1080px;
  width: 80%;
  margin: 40px auto;
  padding: 20px;
}

.border img.wid100 {
  width: 100%;
}

.plus {
  color: #ffffff;
  font-weight: bold;
}


/* -------------------------------------------------------------------------------------

191112 追加分

-------------------------------------------------------------------------------------- */

.fc_yellow{
  color: #ff0;
}

/* --------------------------------------------------------------------------------------

191112 追加分 ここまで

--------------------------------------------------------------------------------------- */

/* -------------------------------------------------------------------------------------

200401 追加分

-------------------------------------------------------------------------------------- */

.fc_red, 
.fc_red a {
  color: #EC3746 !important;
}

/* --------------------------------------------------------------------------------------

200401 追加分 ここまで

--------------------------------------------------------------------------------------- */


/* ---------------------------------------------------------------------------------

汎用クラス ここまで

----------------------------------------------------------------------------------- */

/* ----------------------------------------------------------------------------------

モジュール

---------------------------------------------------------------------------------- */

/* 小さい画像とその他の要素 */
.leftImgArea {
  width: 1024px;
  margin: 0 auto;
}

.leftImgArea h2 {
  font-size: 3.6rem;
  margin-bottom: 20px;
}

.row {
  margin: 2em -12px 0;
}

.row::after {
  conten: "";
  display: table;
}

.col3 {
  width: 25%;
}

.col3,.col9 {
  box-sizing: border-box;
  float: left;
  min-height: 1px;
  padding: 0 12px;
}

.col9 {
  width: 75%;
}

.leftImgArea .ttl {
  font-size: 22px;
}

.leftImgArea img {
  max-width: 100%;
}

/* ----------------------------------------------------------------------------------

モジュール

---------------------------------------------------------------------------------- */

/*ポイント7倍キャンペーン*/
.camp_pointX7{
  background: #fff url(../../../images/base_camp_pointX4_s.jpg);
  background-position: center center;
  background-size: auto 100%;
  background-repeat: repeat-x;
  padding-bottom: 45px;
  color: #333;
}
.camp_pointX7 h2{
  font-family: 'Koburina Gothic W6 JIS2004', sans-serif;
  font-size:4.0rem;
  letter-spacing: 0.07em;
  margin-bottom: 40px;
  padding: 45px 0;
  color: #fff;
  background-color: #232f3e;
}
.camp_pointX7 p{
  font-size: 1.8rem;
  letter-spacing: 0.07em;
  margin-bottom: 50px;
}
.camp_pointX7 .deadline{
  margin-bottom: 100px;
}
.camp_pointX7 .lead{
  line-height: 2.0;
  font-size: 2.4rem;
}
.camp_pointX7 a.shosai{
  text-decoration: underline;
  color: #333 !important;
}
.camp_pointX7 a.shosai:visited{
  color: #333 !important;
}
.camp_pointX7 .videoBlock,
.campaign__inner .videoBlock {
  position: relative;
  width: 70%;
  padding-top: 39.4%;
  margin: 0 auto;
  margin-bottom: 50px;
  margin-top: 50px;
}
.camp_pointX7 .bracket{
  font-size: 2.4rem;
}
.camp_pointX7 .videoBlock iframe,
.campaign__inner .videoBlock iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
}
#contents .section.campaign {
  padding: 0 0 60px 0;
}
#contents .section.campaign .campaign_01{
  margin: 30px 0;
}

/*レスポンシブ*/
@media screen and (max-width: 700px){
  .fs_big{
    font-size: 4.0rem;
  }
  .camp_pointX7 p{
    font-size: 1.5rem;
    margin-bottom: 30px;
    line-height: 1.8;
  }
  .camp_pointX7 .lead{
    font-size: 1.8rem;
    margin-bottom: 40px;
    line-height: 1.4;
  }
  .camp_pointX7 .deadline{
    font-size: 1.2rem;
    margin-bottom: 50px;
    line-height: 1.8;
  }
  .camp_pointX7 .bracket{
    font-size: 2.0rem;
  }
  .camp_pointX7 h2{
    font-size:2.6rem;
    margin-bottom: 40px;
    padding: 10px 0;
  }
  .camp_pointX7 .videoBlock,
  .campaign__inner .videoBlock {
    width: 100%;
    min-height: unset;
    padding-top: 56.25%;
  }
}

/* #sec01b ポイント4倍キャンペーン */
.camp_pointX10{
  /* 200401公開で以下の記述削除
  background: linear-gradient(#c8f4f4, #80e0b3);
  background-position: center center;
  background-size: auto 100%;
  background-repeat: repeat-x; 
  */ 
  padding: 90px 0;
  color: #333;
}

.camp_pointX10 h2{
  font-family: 'Koburina Gothic W6 JIS2004', sans-serif;
  font-size:4.0rem;
  letter-spacing: 0.07em;
  margin-bottom: 40px;
}
.camp_pointX10 h2 span{
  color: #333;
}
.camp_pointX10 p{
  font-size: 2.4rem;
  letter-spacing: 0.07em;
}
.camp_pointX10 .deadline{
  margin-bottom: 10px; /* 191001 公開分 追記 */
}
.camp_pointX10 .lead{
  margin-bottom: 20px; /* 191001 公開分 追記 */
  line-height: 2.0;
}
.camp_pointX10 a.shosai{
  text-decoration: underline;
  color: #333 !important;
}
.camp_pointX10 a.shosai:visited{
  color: #333 !important;
}
.camp_pointX10 a{
  letter-spacing: 0.07em;
}

.camp_pointX7 .whitespace .fc_middle{
  font-size: 3.2rem;
}

/* -------------------------------------

190816公開分追加

-------------------------------------- */
#contents .section.campaign.cashbk20per{
  padding: 90px 0;
  color: #fff;
}

.cashbk20per h2 {
  font-family: 'Koburina Gothic W6 JIS2004', sans-serif;
  font-size:4.0rem;
  letter-spacing: 0.07em;
  margin-bottom: 40px;
}
.cashbk20per h2 span{
  display: block;
  font-size:2.4rem;
}
.cashbk20per p{
  font-size: 2.4rem;
  letter-spacing: 0.07em;
}
.cashbk20per .deadline{
  margin-bottom: 60px;
}
.cashbk20per .lead{
  margin-bottom: 50px;
  line-height: 2.0;
}
.cashbk20per a.shosai{
  text-decoration: underline;
  color: #fff !important;
}
.cashbk20per a.shosai:visited{
  color: #fff !important;
}
.cashbk20per a{
  letter-spacing: 0.07em;
}

/* -------------------------------------

191112公開分追加

-------------------------------------- */

.cashbk20per h2 .txt_small{
  font-size:4.0rem;
}

/* -------------------------------------

191112公開分追加ここまで

-------------------------------------- */

 /* #sec03b 20％キャッシュバックキャンペーン */
 .campaign.cashbk20per .deadline.font_large {
  font-size: 2.8rem !important;
}

.campaign.cashbk20per .caution {
  font-size: 12px !important;
  margin-left: 17px;
}

.campaign.cashbk20per{
background-image:url(/promotion/ordercard/w/ex/images/cache_back_img01.png);
background-size: auto 100%;
background-color: #f0908d;
background-repeat: no-repeat;
background-position: left top;
color: #fff;
padding-right: 60px;
padding-left: 60px;
}


/* -------------------------------------

190816公開分追加 ここまで

-------------------------------------- */

/* 191001 公開分 追記 */

#contents .section.point .point_recommend_block_right {
  vertical-align: baseline;
}

.cache_res {
  background-color: #ebefec;
  overflow: hidden;
  color: #000;
  padding-top: 90px;
  padding-bottom: 90px;
}

.camp_pointX10 p.ttl {
  font-size: 2.8rem;
}

.camp_pointX10 p.lead {
  font-size: 2rem;
}

.camp_pointX10 .deadline {
  font-size: 1.6rem;
}

/* 191001 公開分 追記 ここまで */

@media screen and (max-width: 700px){
  .mainvis h1 .sp_txt{
    font-size: 21px;
  }

  /* #sec01b ポイント4倍キャンペーン */
  .camp_pointX10{
    padding: 45px 0;
  }
  .camp_pointX10 h2{
  font-size:2.6rem;
  margin-bottom: 20px;
  letter-spacing: normal;
  }
  .camp_pointX10 h2 span{
    margin-bottom: 10px;
  }
  .camp_pointX10 p{
    letter-spacing: normal;
  }
  .camp_pointX10 .deadline{
    font-size: 1.2rem;
    margin-bottom: 30px;
    line-height: 1.8;
  }
  .camp_pointX10 .lead{
    font-size: 1.5rem;
    margin-bottom: 40px;
    line-height: 1.4;
  }
  .camp_pointX10 a{
    font-size: 1.5rem;
  }

  .camp_pointX10 .leadSize{
    font-size: 1.1rem;
  }
  .camp_pointX7 .whitespace .fc_middle{
    font-size: 2.5rem;
  }

  .camp_pointX7 .leadSize{
    font-size: 1.1rem;
  }

  .point_box .leadSize{
      font-size: 1.1rem;
  }
  /* /#sec01b ポイント4倍キャンペーン */

  /*--------------------------------------
  190816公開分 追加

  -------------------------------------- */
  #contents .section.campaign.cashbk20per{
    padding: 45px 0;
  }
  .cashbk20per h2{
  font-size:2.6rem;
  margin-bottom: 20px;
  letter-spacing: normal;
  }
  .cashbk20per h2 span{
    font-size: 2.0rem;
    margin-bottom: 10px;
  }
  .cashbk20per p{
    letter-spacing: normal;
  }
  .cashbk20per .deadline{
    font-size: 1.2rem;
    margin-bottom: 30px;
    line-height: 1.8;
  }
  .cashbk20per .lead{
    font-size: 1.5rem;
    margin-bottom: 40px;
    line-height: 1.4;
  }
  .cashbk20per a{
    font-size: 1.5rem;
  }

  .cashbk20per .leadSize{
    font-size: 1.1rem;
  }
  /* 190816公開分 追加 */
  .campaign.cashbk20per .deadline.font_large {
    font-size: 1.9rem !important;
  }
  .caution {
    margin-left: 0;
  }
  /* #sec03b 20％キャッシュバックキャンペーン */
  .campaign.cashbk20per{
    background-image: url(/promotion/ordercard/w/ex/images/cache_back_img01_sp.png);
    background-size: 100%;
    background-color: #f0908d;
    background-repeat: no-repeat;
    color: #fff;
    padding-right: 30px;
    padding-left: 30px;
  }
/* -------------------------------------

190816公開分追加 ここまで

-------------------------------------- */

 /* 191001 公開分 追記 */

  .cache_res {
    padding-top: 45px;
    padding-bottom: 45px;
  }

  .leftImgArea {
    width: auto;
  }

  .leftImgArea h2 {
    margin-top: 30px;
    font-size: 2.6rem;
  }

  .colSP12 {
    width: 100%;
  }

  .camp_pointX10 p.ttl {
    font-size: 2.0rem;
  }

/* 191001 公開分 追記 ここまで */

/* 191112 公開分 追記 */

  .cashbk20per h2 .txt_small{
    font-size:1.8rem;
  }

/* 191112 公開分 追記 ここまで */

/* 191226 公開分 追記 */
  .camp_pointX10 p.lead{
    font-size: 1.5rem;
  }
/* 191226 公開分 追記ここまで */
}

/* 191129 公開分 追記 */
.fs22{
  font-size: 2.2rem !important;
}
@media screen and (max-width: 700px){
  .sp_ml20{
    margin-left: 20px !important;
  }
  .sp_mr20{
    margin-right: 20px !important;
  }
  .sp_fs70per{
    font-size: 70% !important;
  }
  .sp_fs16{
    font-size: 1.6rem !important;
  }
}
/* 191129 公開分 追記 ここまで */

/* 200129 公開分 追記*/
.camp_pointX10 .videoBlock{
  position: relative;
  width: 50%;
  padding-top: 28.125%;
  margin: 0 auto;
  margin-bottom: 50px;
}
.camp_pointX10 .videoBlock iframe{
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
}
@media screen and (max-width: 700px){
  .camp_pointX10 .videoBlock {
    width: 100%;
    padding-top: 56.25%;
  }
}

/* 200129 公開分 追記 ここまで*/


/*レスポンシブ*/
/* 200401 公開分 追記*/

/*campaign_01*/
/*200601公開で調整*/
#contents .section.campaign .campaign_01 .campaign_btn01 {
  position: absolute;
  right: 18px;
  margin: auto;
  top: 5%;
}

.campaign_01 p.heading_position {
  color: #273677;
  font-size: 1.4rem;
  position: absolute;
  top: 54%;
  right: 5%;
  left: 5%;
  margin: auto;
  text-align: center;
  font-weight: bold;
}

.campaign_01 p.text_position {
  color: #273677;
  font-size: 1.4rem;
  position: absolute;
  top: 57%;
  right: 5%;
  left: 5%;
  margin: auto;
  text-align: left;
}

.campaign_01 p.text_position a {
  text-decoration: underline;
}

@media screen and (max-width: 700px){
/*次回以降ボタン位置変更の際に検知しやすいように、この記述のみレスポンシブのところから移動*/
  #contents .section.campaign .campaign_01 .campaign_btn01 {
    top: 11%;
    width: 30%;
    right: 50%;
  }

  .campaign_01 p.heading_position {
    top: 38%;
    font-size: 1.0rem;
  }

  .campaign_01 p.text_position {
    top: 41%;
    font-size: 1.0rem;
  }

  .campaign_01 p.text_position a {
    font-size: 1.0rem;
  }
}

/*レスポンシブ*/
/* 200401 公開分 追記*/
#contents .section.campaign .campaign_01 .campaign_btn02 {
  position: absolute;
  right: 42%;
  margin: auto;
  top: 93%;
}

@media screen and (max-width: 700px){
/*次回以降ボタン位置変更の際に検知しやすいように、この記述のみレスポンシブのところから移動*/
  #contents .section.campaign .campaign_01 .campaign_btn02 {
    top: 93%;
    width: 30%;
    right: 50%;
  }
}

/*campaign_06*/
#contents .section.campaign .campaign_06 {
  position: relative;
  margin-bottom: 30px;
}

#contents .section.campaign .campaign_06 .campaign_btn {
  top: 49px;
  right: 22px;
  transition: opacity 0.1s linear;
}

@media screen and (max-width: 700px) {
  #contents .section.campaign .campaign_06 .campaign_btn {
    top: 17%;
    right: 14%;
    width: 22%;
    -webkit-transform: translateX(50%);
        -ms-transform: translateX(50%);
            transform: translateX(50%);
  }
  #contents .section.campaign .campaign_06 .campaign_btn img {
    width: 100%;
  }
}

#contents .section.campaign .campaign_06 .campaign_btn:hover {
  opacity: 0.8;
}

/*campaign_07*/
#contents .section.campaign .campaign_07 {
  position: relative;
  margin-bottom: 30px;
}

#contents .section.campaign .campaign_07 .campaign_btn {
  top: 49px;
  right: 22px;
  transition: opacity 0.1s linear;
}

@media screen and (max-width: 700px) {
  #contents .section.campaign .campaign_07 .campaign_btn {
    top: 30%;
    width: 30%;
    right: 50%;
    -webkit-transform: translateX(50%);
        -ms-transform: translateX(50%);
            transform: translateX(50%);
  }
  #contents .section.campaign .campaign_07 .campaign_btn img {
    width: 100%;
  }
}

#contents .section.campaign .campaign_07 .campaign_btn:hover {
  opacity: 0.8;
}

/* 200401 公開分 追記 ここまで*/

/* 200415 公開分 追記*/
#contents #sec02 {
  padding: 0;
}
/* 200415 公開分 追記 ここまで*/


/* 200601 公開分 追記*/

/*campaign_08*/
#contents .section.campaign .campaign_08 {
  position: relative;
  margin-bottom: 30px;
}

#contents .section.campaign .campaign_08 .campaign_btn {
  top: 49px;
  right: 22px;
  transition: opacity 0.1s linear;
}

@media screen and (max-width: 700px) {
  #contents .section.campaign .campaign_08 .campaign_btn {
    top: 14.5%;
    right: 50%;
    width: 30%;
    -webkit-transform: translateX(50%);
        -ms-transform: translateX(50%);
            transform: translateX(50%);
  }
  #contents .section.campaign .campaign_08 .campaign_btn img {
    width: 100%;
  }
}

#contents .section.campaign .campaign_08 .campaign_btn:hover {
  opacity: 0.8;
}

/*campaign_09*/
#contents .section.campaign .campaign_09 {
  position: relative;
  margin-bottom: 30px;
}

#contents .section.campaign .campaign_09 .campaign_btn {
  top: 49px;
  right: 22px;
  transition: opacity 0.1s linear;
}

@media screen and (max-width: 700px) {
  #contents .section.campaign .campaign_09 .campaign_btn {
    top: 23.5%;
    right: 50%;
    width: 30%;
    -webkit-transform: translateX(50%);
        -ms-transform: translateX(50%);
            transform: translateX(50%);
  }
  #contents .section.campaign .campaign_09 .campaign_btn img {
    width: 100%;
  }
}

#contents .section.campaign .campaign_09 .campaign_btn:hover {
  opacity: 0.8;
}

/*campaign_video*/
#contents .section.campaign .campaign_09 .campaign_video {
  top: 165px;
  right: 20px;
  transition: opacity 0.1s linear;
  position: absolute;
  display: block;
}

#contents .section.campaign .campaign_09 .campaign_video iframe {
  width:320px;
  height:180px;
}

@media screen and (max-width: 700px) {
  #contents .section.campaign .campaign_09 .campaign_video {
    top: 60%;
    right: 50%;
    width: 70%;
    -webkit-transform: translateX(50%);
        -ms-transform: translateX(50%);
            transform: translateX(50%);
  }
  #contents .section.campaign .campaign_09 .campaign_video .campaign_video_inner {
    position: relative;
    width: 100%;
    padding-top: 56.25%;
  }
  #contents .section.campaign .campaign_09 .campaign_video iframe {
    position: absolute;
    top: 0;
    right: 0;
    width: 100% !important;
    height: 100% !important;
  }
}

.fc_red2{
  color: #EC3746;
}




/* 201001 公開分 追記*/

#contents .section.campaign .campaign_04 {
  margin-bottom: 30px;
}

#contents .section.campaign .campaign_04 .campaign_btn {
  top: 70px;
  right: 18px;
}

.no_ac {
  font-size: 2.4rem;
  padding: 10px 15px;
  background-color: #f3f3f3;
}

.no_ac.bgW {
  background-color: #fff;
}

@media screen and (max-width: 700px) {
  #contents .section.campaign .campaign_04 .campaign_btn {
    top: 38%;
    right: 50%;
  }
  .no_ac {
    font-size: 1.2rem;
    padding: 10px 12px;
  }
}



/* 201001 公開分 追記ここまで*/


/* ---------------------------------------------------------------------------------

201228公開分 ここから

----------------------------------------------------------------------------------- */

.kv__3colarea {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-around;
  max-width: 824px;
  margin: 0 auto 40px;
}

.kv__3colarea li {
  width: 30%;
}


.kv__3colarea li a:hover{
  opacity: 0.8;
}

.bnr.bnr--mini {
  margin-bottom: 20px;
} 
.bnr.bnr--mini img {
  max-width: 100%;
} 

.campaign__area {
  background-color: #fff;
  letter-spacing: 0px;
  text-align: left;
  padding-bottom: 60px;
}

.anchor__inner {
  max-width: 824px;
  width: 100%;
  margin: 0 auto 60px;
  padding-top: 50px;
}
.campaign__inner {
  max-width: 960px;
  width: 100%;
  margin: 0 auto;
  padding-top: 50px;
}
.campaign__inner.campaign__inner--pt0 {
  padding-top: 0px;
}


.campaign__anchor {
  margin-bottom: 53px;
}

.campaign__anchor li {
  padding: 16px 0px 19px;
  border-top: 1px dotted #666666;
  border-radius: 1px;
  position: relative;
  text-align: left;
}
.campaign__anchor li:hover {
  opacity: 0.8;
}
.campaign__anchor li:last-child {
  border-bottom: 1px dotted #666666;
}

.campaign__anchor a:before {
  transform: rotate(45deg);
  width: 1.4em;
  height: 1.4em;
  border-bottom: solid 2px #666;;
  border-right: solid 2px #666;;
  content: "";
  display: block;
  position: absolute;
  top: 40%;
  left: 4%;
  margin-top: -0.4em;
  -webkit-background-size: 0.6em 0.6em;
  background-size: 0.6em 0.6em;
}

.campaign__anchor a p {
  padding-left: 10%;
  color: #000;
}

.campaign__anchor a p:first-child {
  font-size: 18px;
  font-weight: bold;
  padding-bottom: 9px;
}

.campaign__anchor a p:nth-child(2) {
  font-size: 14px;
}


.campaign__area h3.campaign__header {
  font-size: 32px;
  font-weight: bold;
  text-align: center;
  margin-bottom: 34px;
}

.campaign__area h4.campaign__header {
  font-size: 22px;
  font-weight: bold;
  text-align: left;
  margin-bottom: 15px;
}

.campaign__area h4.campaign__header span {
  display: inline-block;
  color: #1887BF;
  height: 32px;
  box-sizing: border-box;
  

  padding: 0px 30px 0px 16px;

  text-align: center;
  border-left: 6px solid #1887BF;
}

.campaign__imglink {
  margin-bottom: 30px;
}
.campaign__imglink a img {
  margin: 0 auto;
}

.campaign__table {
  table-layout: fixed;
  margin-bottom: 29px;
}

.campaign__table tr {
  border-top: 1px solid #666666;
}
.campaign__table tr:last-child {
  border-bottom: 1px solid #666666;
}


.campaign__table th {
  font-size: 18px;
  font-weight: bold;
  background-color: #E7F3F9;
  width: 220px;
  padding: 13px 20px 12px;
}

.campaign__table td {
  font-size: 16px;
  padding: 14px 20px;
}

.campaign__table td span {
  font-size: 12px;
}

.campaign__tableImg {
  text-align: center;
  margin-top: 20px;
}
.campaign__tableImg img {
  max-width: 630px;
  width: 100%;
}

.campaign__notApplicable {
  margin-top: 30px;
  font-size: 12px;
}
.campaign__notApplicable > *:last-child {
  margin-bottom: 0px;
}

.campaign__notApplicable p {
  font-size: 12px;
  text-align: left;
  color: #1E1E1E;
  margin-bottom: 15px;
}
.campaign__notApplicable p.campaign__notApplicable__header {
  font-size: 15px;
  color: #1E1E1E;
  text-align: center;
  font-weight: bold;
}
.campaign__notApplicable p.campaign__notApplicable__red {
  color: #EC3746;
}

.campaign__button {
  margin: 0 auto;
  padding: 0 20px;
  max-width: 520px;
  width: 90%;
  background-color: #F5587D;
  color: #fff;
  position: relative;
  border-radius: 50px;
  box-sizing: border-box;
  letter-spacing: 0.080em;
}
p.campaign__button:after {
  transform: rotate(315deg);
  width: 1em;
  height: 1em;
  border-bottom: solid 3px #FFF;
  border-right: solid 3px #FFF;
  content: "";
  display: block;
  position: absolute;
  top: 46%;
  right: 6%;
  margin-top: -0.4em;
  -webkit-background-size: 0.6em 0.6em;
  background-size: 0.6em 0.6em;
}

.campaign__button:hover{
  opacity: 0.8;
}

#contents .campaign__button a {
  font-weight: bold;
  color: #FFF !important;
  font-size: 18px;
  text-align:center;
  vertical-align: middle;
  display: inline-block;
  padding: 20px 0;
  width: 100%;
}

.campaign__other {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-around;
  max-width: 800px;
  margin: 0 auto;
}

.campaign__other li {
  width: 30%;
  margin-bottom: 70px;
}

.campaign__other li:nth-child(3n+1) {
  text-align: center;
}

.campaign__other li:nth-child(3n+2) {
  text-align: center;
}

.campaign__other li:nth-child(3n) {
  text-align: center;
}

.campaign__other img {
  max-width: 100%;
  height: auto;
}
.campaign__other img:hover {
  opacity: 0.8;
}

.campaign__other img.on_shadow {
  box-shadow: 0 3px 10px 0 rgba(0, 0, 0, 0.18)
}

p.campaign__notes {
  font-size: 15px;
  line-height: 28px;
  margin-bottom: 26px;
  text-align: left;
}

ul.campaign__notes {
  margin-bottom: 29px;
}

ul.campaign__notes > li {
  font-size: 12px;
  margin-bottom: 6px;
  padding-left: 1em;
  text-indent: -1em;
  list-style-type: none;
}
ul.campaign__notes > li:last-child {
  margin-bottom: 0px;
}

ul.campaign__notes > li:before {
	content: "\0203B";
  display: inline;
}


/* ex */
.campaign__band {
  text-align: center;
  margin-bottom: -20px;
}

.campaign__benefitArea {
  padding: 50px 40px;
}

.campaign__benefitArea h4 {
  text-align: center;
  font-size: 24px;
  margin-bottom: 20px;
}

.campaign__benefitArea ul {
  position: relative;
  margin-bottom: 10px;
}

.campaign__benefitArea ul li:nth-child(1) {
  box-sizing: border-box;
  text-align: center;
  color: #fff;
  padding: 12px 0px;
  font-size: 18px;
  font-weight: bold;
  max-width: 270px;
  border-radius: 10px;
  z-index: 1;
}
.campaign__benefitArea ul li:nth-child(2) {
  box-sizing: border-box;
  margin-top: -30px;
  margin-left: 100px;
  padding: 12px 20px 12px 190px;
  width: 88%;
  max-width: 771px;
  box-shadow: 3px 3px 10px 0 rgba(0, 0, 0, 0.08);
  font-size: 15px;
  font-weight: bold;
  z-index: 0;
}

.campaign__benefitArea ul li:nth-child(2) span {
  font-weight: normal;
  font-size: 12px;
}

.campaign__benefitArea.campaign__benefitArea--red {
  border: solid 2px #F5587D;
}

.campaign__benefitArea.campaign__benefitArea--red ul li:nth-child(1) {
  background-color: #F5587D;
}

.campaign__benefitArea.campaign__benefitArea--blue {
  border: solid 2px #2F408E;
}
.campaign__benefitArea.campaign__benefitArea--blue ul li:nth-child(1) {
  background-color: #2F408E;
}


.wplusLarea {
  margin:150px 20px 0;
}

.wplusLarea__inner {
  position: relative;
  max-width: 960px;
  margin: 0 auto;
  background-color: #ffe9ee;
  padding: 100px 20px 80px;
  margin-top: 0px;
  margin-bottom: 80px;
  border-radius: 20px;
}

.wplusLarea__fukidasi {
  position: absolute;
  text-align: center;
  font-size: 22px;
  font-weight: bold;
  color: #d24664;
  padding: 10px;
  margin-bottom: 20px;
  top: -15%;
  left: 10%;
}

.wplusLarea__fukidasi img {
  width: 100%;
}

.wplusLarea__text {
  text-align: center;
  font-size: 18px;
  font-weight: bold;
  margin-bottom: 3px;
}

.wplusLarea__header {
  text-align: center;
  font-size: 30px;
  font-weight: bold;
  margin-bottom: 20px;
}

.wplusLarea__2col {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-bottom: 50px;
  flex-direction: row;
}

.wplusLarea__2col div:first-child {
  width: 40%;
  text-align: right;
  padding-right: 10px;
}

.wplusLarea__2col div:last-child {
  width: 60%;
  text-align: left;
  padding-left: 20px;
}

#contents .wplusLarea__2col div:last-child img {
  max-width: 450px;
  width: 100%;
}

.wplusLarea__2col div:last-child img:first-child {
  margin-bottom: 20px;
}

.wplusLarea__button {
  text-align: center;
}

.wplusLarea__button a {
  position: relative;
  display: inline-block;
  padding: 15px 0px;
  background-color: #d24664;
  color: #fff !important;
  font-size: 18px;
  max-width: 400px;
  width: 100%;
  border-radius: 50px;
}


.wplusLarea__button a::after {
  position: absolute;
  right: 32px;
  top: 36%;
  display:inline-block;
  content: '';
  width: 16px;
  height: 16px;
  background: url('/promotion/ordercard/w/images/icon_modal.png') no-repeat;
  background-size:contain;
}

.wplusLarea__button a:hover {
  opacity: 0.8;
}

.benefit__box.benefit__box--half:last-child {
  -ms-flex-preferred-size: 50%;
      flex-basis: 50%;
  max-width: 50%;
  margin-bottom: 0px;
}


@media (max-width: 767px) {
  .wplusLarea {
    margin: 0 20px;
  }

  .benefit__box.benefit__box--half:last-child {
    -ms-flex-preferred-size: 100%;
      flex-basis: 100%;
    max-width: 100%;
    margin-bottom: 0px;
  }

  .wplusLarea__inner {
    width: 100%;
    margin: 40px auto;
    padding: 60px 0px 45px;
  }

  .wplusLarea__fukidasi {
    text-align: center;
    font-size: 16px;
    font-weight: bold;
    color: #d24664;
    padding: 5px;
    margin-bottom: 7px;
    left: -2%;
    top: -6%;
  }

  .wplusLarea__fukidasi img {
    width: 80%;
  }


  .wplusLarea__fukidasi span {
    padding: 3px 19px;
    border: solid 2px #d24664;
    border-radius: 5px;
    background-color: #fff;
  }

  .wplusLarea__text {
    font-size: 15px;
    margin-bottom: 0px;
  }


  .wplusLarea__header {
    font-size: 24px;
    margin-bottom: 14px;
  }

  .wplusLarea__2col {
    flex-direction: column;
    margin-bottom: 10px;
  }

  .wplusLarea__2col div:first-child{
    width: 70%;
    text-align: center;
    padding-right: 0px;
  }

  .wplusLarea__2col div:last-child{
    width: 100%;
    text-align: center;
    padding-left: 0px;
  }

  .wplusLarea__2col div:last-child img:first-child{
    margin-bottom: 6px;
  }

  .wplusLarea__button a {
    width: 95%;
  }
  
  .wplusLarea__button a::after {
    right: 15%;
  }
  .fix__item.fix__item--fill {
    width: 90%;
  }
  
  .fix__item.fix__item--fill a {
    font-size: 18px;
    height: 50px;
    font-weight: normal;
  }
}


@media screen and (max-width: 700px) {
  .kv__3colarea {
    padding: 0 10px;
    margin: 0 auto 30px
  }
  .bnr.bnr--mini {
    margin-bottom: 0;
  }
  #contents .bnr.bnr--mini img {
    max-width: 80%;
  } 

  .campaign__other li {
    width: 45%;
    margin-bottom: 20px;
    text-align: center;
  }
  .campaign__other li:nth-child(2n+1) {
    text-align: center;
  }
  
  .campaign__other li:nth-child(2n) {
    text-align: center;
  }

  .campaign__anchor a p {
    padding-left: 15%;
  }
  
  .campaign__anchor a p:first-child {
    font-size: 16px;
  }
  
  .campaign__anchor a p:nth-child(2) {
    font-size: 12px;
  }
  
  .campaign__benefitArea ul {
    position: relative;
    margin-bottom: 10px;
  }
  
  .campaign__benefitArea ul li:nth-child(1) {
    box-sizing: border-box;
    text-align: center;
    color: #fff;
    padding: 12px 0px;
    font-size: 18px;
    font-weight: bold;
    max-width: 100%;
    margin: 0 auto;
  }
  .campaign__benefitArea ul li:nth-child(2) {
    box-sizing: border-box;
    margin: 0 auto;
    padding: 20px;
    width: 100%
  }
  
  .campaign__benefitArea ul li:nth-child(2) span {
    font-weight: normal;
    font-size: 12px;
  }
  
  .campaign__benefitArea.campaign__benefitArea--blue ul li:nth-child(1) {
    max-width: 270px;
  }
  .campaign__benefitArea.campaign__benefitArea--blue ul li:nth-child(2) {
    padding: 20px;
  }
  
  .campaign__tableImg {
    text-align: center;
  }
  
  .campaign__tableImg img {
    max-width: 335px;
  }
  

  #contents .fixbtn.fixbtn-fill .inner ul li {
    float: inherit;
    width: 80%;
  }
  #contents .fixbtn.fixbtn-fill .inner ul li a {
    font-size: 14px;
  }

}

/*---------------------------------
みんなに嬉しいAmazonプライム。
---------------------------------*/
.happy_amazon {
  background-color: #00A8E1;
  margin-bottom: 60px;
}
.happy_amazon__img {
  padding: 0;
}
.happy_amazon__img img {
  margin: 0 auto;
}
@media print, screen and (min-width: 701px) {
  .happy_amazon {
    padding: 20px 0;
  }
  .happy_amazon__img img {
    width: 930px;
  }
}
@media screen and (max-width: 700px) {
  .happy_amazon {
    padding: 20px;
  }
}
/* みんなに嬉しいAmazonプライム。 ------------------------*/

/* ---------------------------------------------------------------------------------

201228公開分 ここまで

----------------------------------------------------------------------------------- */

/* ---------------------------------------------------------------------------------

210401公開分 ここから

----------------------------------------------------------------------------------- */

.campaign__benefitArea.campaign__benefitArea--noborder {
  border: none;
  padding: 0px 10px;
}

/* slider */
.slider__header {
  font-size: 32px;
  margin-bottom: 40px;
  font-weight: bold;
  text-align: center;
}
.slider{
  margin: 0px auto;
  width: 90%;
  max-width: 100%;
  border-radius: 10px;
}
.slick-slide {
  outline:none;
}

.slider__inner {
  padding: 15px;
}
.slider__inner a img {
  box-shadow: 0 3px 10px 0 rgba(0, 0, 0, .18);
}

.slider > *::last-child {
  margin-bottom: 0px;
}
.slider__img {
  text-align: center;
}

.slider__img img{
  height: auto;
  max-width: 100%;
  margin: 0 auto;
}
.slider .section__header3 {
  font-size: 18px;
  margin-top: 14px;
  margin-bottom: 8px;
}

.slider__text {
  font-size: 14px;
  font-weight: bold;
  color: #0082DF;
  margin-bottom: 19px;
  line-height: 25px;
  letter-spacing: 0.025em;
  text-align: left;
}

.slider__text.slider__text--mb0 {
  margin-bottom: 0px;
}

.slider__text.slider__text--mb {
  margin-bottom: 26px;
}

.slider__text span {
  font-weight: bold;
  background-color: #FFFD34;
  display: inline;
  padding: 0 3px;
  font-weight: 900;
}

.slider .bg--gray {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  height: 177px;
  max-width: 400px;
  border-radius: 10px;
  margin: 0 auto;
}

.slider .section__button {
  min-height: 50px;
  margin: 0px;
  width: 90%;
}
.slider .section__button a {
  font-size: 16px;
  padding: 12px 15px 12px 8px;
}

.slider_check_list + .slider__text {
  margin-top: -1px;
  padding-left: 0.5em;
  margin-bottom: 15px;
}

.slider_check_list{
  line-height: 1.7em;
  text-align:left;
  padding: 1px 3px;
  width: auto;
  display: table-cell;
  font-size: 14px;
}

.slider_check_list li{
  background-color: #FFFD34;
  margin-left: -10px;
  font-size: 14px;
  padding-left: 1.3em;
  position: relative;
  font-weight:bold;
  text-align:left;
  color:#0082DF;
  display: block;
}

.slider_check_list li::before,.slider_check_list li::after{
  position:absolute;
  content:'';
  display:block;
  background: #0082DF;
  top: 0.5em;
  left: 0.65em;
  height: 10px;
  width: 3px;
  border-radius: 10px;
  transform: rotate(45deg);
}

.slider_check_list li::before{
  top: 0.7em;
  left: 0.3em;
  height: 7px;
  transform:rotate(-45deg);
}


@media (min-width: 768px) {

  .slider {
    width: 660px;
  }

  .slider__inner {
    padding: 0 20px;
  }

  .slider .section__header3 {
    font-size: 28px;
    margin-top: 20px;
    margin-bottom: 12px;
  }
  .slider .slider__text {
    font-size: 20px;
    font-weight: bold;
    color: #0082DF;
    margin-bottom: 19px;
    line-height: 36px;
    letter-spacing: 0.025em;
    text-align: center;
  }

  .slider .bg--gray {
    height: 280px;
    max-width: 580px;
    border-radius: 10px;
    margin: 0 auto;
  }
  
  .slider .section__button {
    width: 420px;
    height: 76px;
    min-height: 76px;
    margin: 0px;
  }
  .slider .section__button a {
    font-size: 28px;
    padding: 16px;
  }
  
  .slider_check_list{
    margin: 0 auto;
    line-height: 1.7em;
    padding: 1px 3px;
    display:table;
  }

  .slider_check_list li{
    background-color: #FFFD34;
    font-size: 20px;
    font-weight:900;
    vertical-align: middle;
    display: table-cell;
  }

  .slider_check_list li::before,.slider_check_list li::after{
    top: 0.3em;
    left: 0.65em;
    height: 15px;
    width: 3px;
  }

  .slider_check_list li::before{
    top: 0.5em;
    left: 0.3em;
    height: 10px;
  }

  .slider_check_list + .slider__text {
    margin-top: 10px;
    margin-bottom: 33px;
  }
  .slider__text.slider__text--mb {
    margin-bottom: 50px;
  }

}

#contents .section.main .main_ttl.main_ttl--neon {
  background: linear-gradient(to right,#F4FF81 0%,#F4FF81 50%,#A7FFEB 51%,#A7FFEB 100%);
  padding: 0px;
  margin-bottom: 0px;
}

.main_ttl_2colarea {
  display: flex;
  width: 100%;
  flex-direction: column;
  justify-content: space-between;
  margin: 10px auto 40px;
}
.main_ttl_2colarea div {
  margin: 0 auto;
  width: 100%;
}
.main_ttl_2colimage {
  width: 76%;
  max-width: 500px;
  margin: 0 auto 10px;
}
.main_ttl_2colarea div:first-child {
  max-width: 90%;
}
.main_ttl_2colarea > div:last-child {
  max-width: 80%;
}

.main_ttl_boldtxt {
  font-size: 18px;
  font-weight: bold;
  text-align: center;
  margin-top: 10px;
}
.main_ttl_mintxt {
  font-size: 12px;
  text-align: center;
}
.main_ttl_link {
  font-size: 15px;
  text-decoration: underline;
  font-weight: bold;
  margin-top: 10px;
}
.main_ttl_link a:link, .main_ttl_link a:visited, .main_ttl_link a:hover,.main_ttl_link a:active {
  color: #000 !important;
}
@media (min-width: 701px) {
  .main_ttl_2colarea {
    width: 980px;
    margin: 30px auto 60px;
    flex-direction: row;
  }
  .main_ttl_2colarea div:first-child {
    max-width: 420px;
  }
  .main_ttl_2colimage {
    width: 90%;
    margin: 0 auto;
  }
  .main_ttl_boldtxt {
    font-size: 24px;
  }
  .main_ttl_mintxt {
    font-size: 12px;
  }
  .main_ttl_link {
    font-size: 18px;
  }
}

#contents .section .c-ttl.c-ttl--neonlightblue:before,
#contents .section .c-ttl.c-ttl--neonlightblue:after {
  content: none;
}

#contents .section .c-ttl.c-ttl--neonlightblue {
  background-color: #A7FFEB;
  color: #000;
  padding: 22px 0;
}

.campaign__button.campaign__button--white {
  color: #000;
  background-color: #fff;
  border: 5px solid #A7FFEB;
}
#contents .campaign__button.campaign__button--white a {
  color: #000 !important;
}
p.campaign__button.campaign__button--white:after {
  border-bottom: solid 3px #000;
  border-right: solid 3px #000;
}

.campaign__benefitArea.campaign__benefitArea--neonblue ul li:nth-child(1) {
  background-color: #A7FFEB;
  color: #000;
}



.wplusLarea__ribbon {
  position: absolute;
  text-align: center;
  font-size: 22px;
  font-weight: bold;
  color: #d24664;
  left: 0;
  right: 0;
  top: -40px;
  margin: auto;  
}

.wplusLarea__img {
  margin-top: 20px;
  margin-bottom: 40px;
}

@media (max-width: 767px) {

  .wplusLarea__ribbon {
    text-align: center;
    font-size: 16px;
    font-weight: bold;
    color: #d24664;
    padding: 5px;
    left: 0;
    right: 0;
    top: -40px;
    margin: auto;  
    margin-bottom: 7px;
  }

  .wplusLarea__ribbon span {
    padding: 3px 19px;
    border: solid 2px #d24664;
    border-radius: 5px;
    background-color: #fff;
  }
  .wplusLarea__img {
    margin-top: 10px;
    margin-bottom: 10px;
  }
  
}






.campaign__table {
  table-layout: fixed;
  margin-bottom: 29px;
  width: 100%;
  border: 1px solid #DCDCDB;
  margin-bottom: 25px;
  word-break: break-all;
}

.campaign__table th {
  font-size: 18px;
  font-weight: bold;
  background-color: #E7F3F9;
  width: 220px;
  padding: 13px 20px 12px;
}

.campaign__table td {
  font-size: 16px;
  padding: 14px 20px;
}

.campaign__table td span {
  font-size: 12px;
}

.campaign__tableImg {
  text-align: center;
  margin-top: 20px;
}
.campaign__tableImg img {
  max-width: 630px;
  width: 100%;
}

.campaign__table th {
  background-color: #A7FFEB;
}
.campaign__table td {
  background-color: #FFFFFF;
}
.campaign__table tr {
  border-top: 1px solid #DCDCDB;
}
.campaign__table tr:first-of-type {
  border-top: none;
}
.campaign__table tr:last-child {
  border-bottom: none;
}
.campaign__tableImg {
  margin-top: 0;
}

@media screen and (max-width: 700px){

  .campaign__table {
    width: 90%;
    margin: 0 auto 40px;
  }
  
  .campaign__table tr {
    border: 1px solid #ccc;
  }
  .campaign__table tr:last-child {
    border-bottom: 1px solid #ccc;
  }

  .campaign__table tr > * {
    display: block;
    width: 100%;
    box-sizing: border-box;
  }
  .campaign__tableImg {
    text-align: center;
  }
  
  .campaign__tableImg img {
    max-width: 335px;
  }
}


#contents .section.video.video--noborder {
  border-top: none;
}


/* ---------------------------------------------------------------------------------

210401公開分 ここまで

----------------------------------------------------------------------------------- */
