@charset "UTF-8";
/*-------------------------------------------------------------------------
  Clearfix
/*-----------------------------------------------------------------------*/
#jp-cmptemp section, #jp-cmptemparticle,#jp-cmptemp figure,
#jp-cmptemp nav,#jp-cmptemp aside,#jp-cmptemp header,#jp-cmptemp footer,
#jp-cmptemp div,#jp-cmptemp ul,#jp-cmptemp dl {
  zoom:1;
}
#jp-cmptemp section:after,
#jp-cmptemp article:after,
#jp-cmptemp figure:after,
#jp-cmptemp nav:after,
#jp-cmptemp aside:after,
#jp-cmptemp header:after,
#jp-cmptemp footer:after,
#jp-cmptemp div:after,
#jp-cmptemp ul:after,
#jp-cmptemp dl:after,
#jp-cmptemp form:after {
  content:"";
  display: block;
  clear:both;
  visibility:hidden;
}

/*- jp-cmptemp
-----------------------------------------------------------------------*/
#jp-cmptemp {
  margin-top: 20px;
  padding: 10px;
  -webkit-box-sizing: border-box;
     -moz-box-sizing: border-box;
          box-sizing: border-box;
  background: #ffd480; /*背景色*/
  width: 1030px;
}

  .jp-cmptemp-contents {
    margin-top: 30px;    
  }

    .jp-cmptemp-contents > p {
      text-align: center;
    }

    .jp-cmptemp-contents p.jp-cmptemp-lead {
      font-size: 24px;
      font-weight: bold;
    }

    .jp-cmptemp-list-text {
      font-size: 18px;
      font-weight: bold;
    }

@media screen and (max-width: 767px) {
  #jp-cmptemp {
    margin: 10px 0 0;
    padding: 10px 1%;
    width: auto;
  }

    .jp-cmptemp-contents p.jp-cmptemp-lead {
      font-size: 18px;
    }

}

.jp-cmptemp-contbox{
  background: #FFF;
  margin: 10px 0 0;
  padding: 0 0 10px;
}

/* 改行設定 */
.jp-cmptemp-sp-br {
  display: none;
}

@media screen and (max-width: 767px) {

  .jp-cmptemp-pc-br {
    display: none;
  }
  
  .jp-cmptemp-sp-br {
    display: block;
  }

}

/*- jp-cmptemp-social
-----------------------------------------------------------------------*/
#jp-cmptemp-social {
  text-align: center;
  margin-bottom: 10px;
}

/*- 共通class
-----------------------------------------------------------------------*/
/*h2見出し レイアウト*/
.jp-cmptemp-h2 {
  height: 94px;
  text-align: center;
  box-sizing: border-box;
  color: #fff;
  background: #ea6262;
  font-size: 34px;
  font-weight: bold;
}

  .jp-cmptemp-together > .jp-cmptemp-h2 {
    padding-top: 20px;
  }

  .jp-cmptemp-h2 img {
    margin-right: 10px;
  }

.jp-cmptemp-h2:before,
.jp-cmptemp-h2:after {
  position: relative;
  top: -10px;
  content: "";
  display: inline-block;
  width: 56px;
  height: 64px;
  vertical-align: middle;
}

.jp-cmptemp-h2:before {
  margin-right: 20px;
  background:url(/web/src/s/joy/magic/img/ico_h2_before.png) right center no-repeat;
}
.jp-cmptemp-h2:after {
  margin-left: 20px;
  background:url(/web/src/s/joy/magic/img/ico_h2_after.png) right center no-repeat;
}

@media screen and (max-width: 767px) {
  .jp-cmptemp-h2 {
    height: auto;
    padding: 5px 0;
    font-size: 18px;
  }

  .jp-cmptemp-h2:before,
  .jp-cmptemp-h2:after {
    background-size: cover;
    width: 30px;
    height: 34px;
  }

  .jp-cmptemp-h2:before {
    margin-right: 3px;
  }

  .jp-cmptemp-h2:after {
    margin-left: 3px;
  }

  .jp-cmptemp-together > .jp-cmptemp-h2 {
    padding-top: 8px;
  }

    .jp-cmptemp-h2 img {
      width: 100px;
      margin-right: 3px;
    }

    .jp-cmptemp-together > .jp-cmptemp-h2:before,
    .jp-cmptemp-together > .jp-cmptemp-h2:after {
      top: -3px;
    }

}

.jp-cmptemp-h3 {
  color: #ea6262;
  font-size: 28px;
  font-weight: bold;
  text-align: center;
}

@media screen and (max-width: 767px) {

.jp-cmptemp-h3 {
  font-size: 20px;
}

}



/*注意書きリスト*/
.jp-cmptemp-attention-txt{
  font-size: 16px;
  margin: 20px 0 0 1em;
  text-indent: -1em;
}
.jp-cmptemp-attention-txt li{ margin: 0 0 0.5em; }
.jp-cmptemp-attention-txt li:last-child{ margin: 0; }

@media screen and (max-width: 767px) {
  .jp-cmptemp-attention-txt{
    font-size: 14px;
    margin: 10px 0 0 1em;
  }
}

.jp-cmptemp-btn-wrap{
  text-align: center;
  margin: 10px 0 0;
}
.jp-cmptemp-btn-wrap a{
  margin-top: 10px;
}
.jp-cmptemp-btn-wrap a:first-child{
  margin-top: 0;
}

/*ツートン*/
.jp-cmptemp-btn01 {
  background: -moz-linear-gradient(top,#FEC102, #FEA92D 50%,#FD7800 50%,#FC4500);
  background: -webkit-gradient(linear, left top, left bottom, from(#FEC102), color-stop(0.5,#FEA92D), color-stop(0.5,#FD7800), to(#FC4500));
  border: 2px solid #e75906;
  -webkit-border-radius: 10px;
          border-radius: 10px;
  color: #FFF;
  display: block;
  font-size: 24px;
  font-weight: bold;
  margin: 0 auto;
  padding: 10px 20px;
  text-shadow: 0 -1px 1px rgba(0, 0, 0, 0.4);
  width: 80%;
}

/*グラデ*/
.jp-cmptemp-btn02 {
  background-image: -moz-linear-gradient(top, #e31010, #870120);
  background-image: -ms-linear-gradient(top, #e31010, #870120);
  background-image: -webkit-linear-gradient(top, #e31010, #870120);
  background-image: linear-gradient(top, #e31010, #870120);
  border: 2px solid #ff2d76;
  -webkit-border-radius: 10px;
          border-radius: 10px;
  color: #FFF;
  display: block;
  font-size: 24px;
  font-weight: bold;
  margin: 0 auto;
  padding: 10px 20px;
  text-shadow: 0 -1px 1px rgba(0, 0, 0, 0.4);
  width: 80%;
}

/*ベタ*/
.jp-cmptemp-btn03 {
  background: #d70c19;
  border: 2px solid #fff;
  -webkit-border-radius: 10px;
          border-radius: 10px;
  color: #FFF;
  display: block;
  font-size: 24px;
  font-weight: bold;
  margin: 0 auto;
  padding: 20px 20px 18px;
  text-shadow: 0 -1px 1px rgba(0, 0, 0, 0.4);
  width: 80%;
}

.jp-cmptemp-btn01:hover,
.jp-cmptemp-btn02:hover,
.jp-cmptemp-btn03:hover,
.jp-cmptemp-btn01:active,
.jp-cmptemp-btn02:active,
.jp-cmptemp-btn03:active{ color: #FFF; text-decoration: none; }

@media screen and (max-width: 767px) {

  .jp-cmptemp-btn01 {
    -webkit-border-radius: 5px;
            border-radius: 5px;
    -webkit-box-sizing: border-box;
       -moz-box-sizing: border-box;
            box-sizing: border-box;
    color: #FFF;
    display: inline-block;
    font-size: 16px;
    font-weight: bold;
    padding: 5px;
    width: 100%;
  }

  .jp-cmptemp-btn02 {
    -webkit-border-radius: 5px;
            border-radius: 5px;
    -webkit-box-sizing: border-box;
       -moz-box-sizing: border-box;
            box-sizing: border-box;
    color: #FFF;
    display: inline-block;
    font-size: 16px;
    font-weight: bold;
    padding: 5px;
    width: 100%;
  }

  .jp-cmptemp-btn03 {
    -webkit-border-radius: 5px;
            border-radius: 5px;
    -webkit-box-sizing: border-box;
       -moz-box-sizing: border-box;
            box-sizing: border-box;
    color: #FFF;
    display: inline-block;
    font-size: 16px;
    font-weight: bold;
    padding: 10px 5px;
    width: 100%;
  }

}

/*- SNS
-----------------------------------------------------------------------*/
.jp-cmp-list-social-001 ul{
  margin: 10px auto 0;
  width: 200px;
}
@media screen and (max-width: 767px){
  .jp-cmp-list-social-001 ul{
    width: 18em;
  }
  .jp-cmp-list-social-001 li{
    border-right: 4px solid transparent;
    border-bottom: 0;
  }
}

/*- ビジュアル下概要箇所
-----------------------------------------------------------------------*/
/*リード*/
.jp-cmptemp-mainlead {
  background: #ffd480;
  color: #fff;
  font-size: 28px;
  padding: 20px 0 30px;
  text-align: center;
}
.jp-cmptemp-mainlead p b {
  color: #ffea00;
  font-size: 130%;
  font-weight: bold;
}

/*キャンペーン期間*/
.jp-cmptemp-camp-date{
  background: url(/web/src/s/joy/magic/img/common/bg.png) #40a1e4; /*キャンペーン期間背景色・画像*/
  border: 30px solid rgba(0, 0, 0, 0);
  border-left: 30px solid #1f65aa; /*リボン装飾部分 必要なければコメントアウト*/
  border-right: 30px solid #1f65aa; /*リボン装飾部分 必要なければコメントアウト*/
  -webkit-box-sizing: border-box;
     -moz-box-sizing: border-box;
          box-sizing: border-box;
  font-size: 24px;
  height: 0;
  margin: 20px auto 0;
  position: relative;
  text-transform: uppercase;
  width: 85%;
}
.jp-cmptemp-camp-date span{
  display: block;
  margin: -19px 0 0;
}
.jp-cmptemp-camp-date span::before{
  border: 2px solid #fff; /*キャンペーン期間枠ボーダー色*/
  content: "キャンペーン期間";
  font-size: 16px;
  display: inline-block;
  margin: 0 10px 0 0;
  padding: 5px;
  vertical-align: top;
}

/*終了文言*/
.jp-cmptemp-date-end{
  color: #f00;
  font-size: 24px;
  font-weight: bold;
  line-height: 2;
  margin: 10px 0 0;
  text-align: center;
  text-shadow: -1px -1px #fff, 1px -1px #fff, -1px 1px #fff, 1px 1px #fff; /*必要があれば*/
}

@media screen and (max-width: 767px) {
  /*リード*/
  .jp-cmptemp-mainlead{
    font-size: 14px;
    padding: 10px 0 0;
  }
  .jp-cmptemp-mainlead p{
    padding: 0 10px;
  }
  .jp-cmptemp-mainlead p b{
    font-size: 18px;
  }

  /*キャンペーン期間*/
  .jp-cmptemp-camp-date{
    font-size: 16px;
    margin: 10px 0 0;
    padding: 10px;
    width: 100%;
    height: 100%;
    border: 0;
    border-left: 0; /*リボン装飾部分 必要なければコメントアウト*/
    border-right: 0; /*リボン装飾部分 必要なければコメントアウト*/
  }
  .jp-cmptemp-camp-date span{ margin: 0; }
  .jp-cmptemp-camp-date span::before{
    font-size: 12px;
    display: block;
    margin: 0 0 10px;
  }

  /*終了文言*/
  .jp-cmptemp-date-end{
    font-size: 16px;
    line-height: 1.4;
    padding: 0 0 10px;
  }
  .jp-cmptemp-date-end > small{ display: block; }
}

/*- キャンペーン内容
-----------------------------------------------------------------------*/
/*h2 青*/
.jp-cmptemp-campaign-h2-01{ background: #1f65aa; } /*キャンペーン内容見出し色1*/

/*h2 緑*/
.jp-cmptemp-campaign-h2-02{ background: #09a08d; } /*キャンペーン内容見出し色2*/

/*アイコン*/
.jp-cmptemp-campaign-h2-01::before,
.jp-cmptemp-campaign-h2-02::before{
  background: url(/web/src/s/joy/magic/img/ico_megaphone_01.png) no-repeat left top;
  -webkit-background-size: 100%;
       -o-background-size: 100%;
          background-size: 100%;
  content: "";
  height: 40px;
  width: 40px;
}

/*contentsBox*/
/*.jp-cmptemp-campaign .jp-cmptemp-contents p{
  font-size: 22px;
  font-weight: bold;
  padding: 30px 100px;
}*/

/*文字色*/
.jp-cmptemp-bold-orenge{
  color: #f77400;
  font-size: 38px;
  font-weight: bold;
}
.jp-cmptemp-bold-green{
  color: #09a08d;
  font-size: 28px;
  font-weight: bold;
}
.jp-cmptemp-bold-pink{
  color: #DB2960;
  font-weight: bold;
}

@media screen and (max-width: 767px) {
  /*アイコン*/
  .jp-cmptemp-campaign-h2-01::before,
  .jp-cmptemp-campaign-h2-02::before{
    height: 20px;
    width: 20px;
  }

  /*contentsBox*/
  .jp-cmptemp-campaign .jp-cmptemp-contents p{
    /*font-size: 14px;*/
    /*padding: 10px;*/
  }

  /*文字色*/
  .jp-cmptemp-bold-orenge{ font-size: 20px; }
  .jp-cmptemp-bold-green{ font-size: 18px; }
}


.jp-cmptemp-campaign .jp-cmptemp-lead {
  margin-bottom: 40px;
}

@media screen and (max-width: 767px) {

.jp-cmptemp-campaign .jp-cmptemp-lead {
  margin-bottom: 20px;
}

}

/*- 魔法カメラの遊び方 
-----------------------------------------------------------------------*/
.jp-cmptemp-play {
  margin-top: 20px;
  margin-bottom: 30px;
  padding-left: 70px;
}

.jp-cmptemp-play:last-child {
  margin-bottom: 0;
}
  
  .jp-cmptemp-play li {
    position: relative;
    float: left;
    margin-bottom: 40px;
  }

  .jp-cmptemp-play li:nth-child(even),
  .jp-cmptemp-play li:last-child {
    padding-left: 70px;
  }

  .jp-cmptemp-play li:nth-child(5) {
    margin-left: 160px;
  }

    .jp-cmptemp-play li img {
      margin-bottom: 10px;
    }
    
    .jp-cmptemp-play li:nth-child(even):before,
    .jp-cmptemp-play li:last-child:before {
      position: absolute;
      left: 20px;
      top: 115px;
      width: 28px;
      height: 41px;
      content: "";
      display: block;
      clear:both;
      background: url(/web/src/s/joy/magic/img/img_arrow.png) no-repeat center center;
    }

    .jp-cmptemp-play li .jp-cmptemp-list-text {
      text-align: center;
    }

@media screen and (max-width: 767px) {
  .jp-cmptemp-play {
    margin-top: 0;
    padding-left: 0;
    margin-bottom: 30px;
    text-align: center;
  }

    .jp-cmptemp-play li {
      float: none;
      margin-bottom: 10px;
    }

    .jp-cmptemp-play li:nth-child(even),
    .jp-cmptemp-play li:last-child {
      padding-left: 0;
    }

    .jp-cmptemp-play li:nth-child(5) {
      margin-left: 0;
    }

      .jp-cmptemp-play li img {
        width: 96%;
        padding-top: 10px;
      }

      .jp-cmptemp-play li:nth-child(3):before {
        width: 28px;
        height: 41px;
        content: "";
        display: block;
        clear:both;
        background: url(/web/src/s/joy/magic/img/img_arrow.png) no-repeat center center;
      }
      
      .jp-cmptemp-play li:nth-child(even):before,
      .jp-cmptemp-play li:nth-child(3):before,
      .jp-cmptemp-play li:last-child:before {
        position: static;
        text-align: center;
        margin: 0 auto;
        -webkit-transform: rotate(90deg);
           -moz-transform: rotate(90deg);
            -ms-transform: rotate(90deg);
             -o-transform: rotate(90deg);
                transform: rotate(90deg);
      }

}


/*- 魔法カメラアイテム紹介
-----------------------------------------------------------------------*/
.jp-cmptemp-categories {
  padding-left: 10px;
  margin-top: 30px;
  margin-bottom: 30px;
}

.jp-cmptemp-categories-special {
  width: 930px;
  margin: 20px auto 40px;
  text-align: center;
 }

@media screen and (max-width: 767px) {

.jp-cmptemp-categories-special {
  width: auto;
  margin: 10px 0 20px 2%;
  padding: 0 15px;
  text-align: center;
 }

}

.jp-cmptemp-categories-special .pc {
  display: block;
}
.jp-cmptemp-categories-special .sp {
  display: none;
}

@media screen and (max-width: 767px) {

.jp-cmptemp-categories-special .pc {
  display: none;
}
.jp-cmptemp-categories-special .sp {
  display: inline-block;
}

}

.jp-cmptemp-items-copyright{
  font-size: 12px;
  text-align: right !important;
  margin: 10px 0 0;
}

@media screen and (max-width: 767px) {

.jp-cmptemp-items-copyright{
  text-align: right !important;
  margin: 10px 10px 0;
}

}


 .jp-cmptemp-categories li {
  float: left;
 }

  .jp-cmptemp-categories li:nth-child(even) {
    padding-left: 30px;
  }

@media screen and (max-width: 767px) {
  .jp-cmptemp-categories {
    position: relative;
    left: -2%;
    margin-top: 10px;
    text-align: center;
  }

    .jp-cmptemp-categories li {
      float: none;
    }

      .jp-cmptemp-categories li:nth-child(even) {
        padding-left: 0;
      }
}




/*- 一緒に楽しめるコンテンツ
-----------------------------------------------------------------------*/
.jp-cmptemp-capture {
  padding-left: 40px;
  margin-bottom: 30px;
}

  .jp-cmptemp-capture li {
    width: 435px;
    float: left;
  }

  .jp-cmptemp-capture li:nth-child(even) {
    padding-left: 60px;
  }

    .jp-cmptemp-capture li .jp-cmptemp-list-title {
      margin-bottom: 5px;
      font-size: 18px;
      font-weight: bold;
    }

      .jp-cmptemp-capture li .jp-cmptemp-list-title span {
        color: #a0a0a0;
        font-size: 80%;
      }

    .jp-cmptemp-capture li img {
      margin-bottom: 10px;
    }

    .jp-cmptemp-capture li > .jp-cmptemp-list-text {
      font-weight: normal;
    }

@media screen and (max-width: 767px) {
  .jp-cmptemp-capture {
    text-align: center;
    padding-left: 0;
    margin-bottom: 10px;
  }

    .jp-cmptemp-capture li {
      width: auto;
      float: none;
      margin-bottom: 30px;
    }

    .jp-cmptemp-capture li:nth-child(even) {
      padding-left: 0;
    }

      .jp-cmptemp-capture li .jp-cmptemp-list-title {
        font-size: 20px;
      }

      .jp-cmptemp-capture li img {
        width: 96%;
      }

      .jp-cmptemp-capture li > .jp-cmptemp-list-text {
        width: 80%;
        margin: 0 auto;
        text-align: justify;
    }
}


.jp-cmptemp-magic-btn {
  width: 520px;
  margin: 20px auto;
  text-align: center;
}

@media screen and (max-width: 767px) {

  .jp-cmptemp-magic-btn {
    width: 100%;
    margin: 10px auto;
    text-align: center;
  }

}






/*- jp-cmptemp-terms
-----------------------------------------------------------------------*/
.jp-cmptemp-terms-h2-01 span{ font-weight: normal; }
.jp-cmptemp-terms-h2-01:before{ content: none; }
.jp-cmptemp-terms{ background: #fff; }
.jp-cmptemp-terms-contents{
  margin: 0 auto;
  padding: 10px 0;
  width: 90%;
}
.jp-cmptemp-terms-h2-01{ background: #6d6d6d; } /*参加方法見出し色*/

.jp-cmptemp-terms-contents{
  -webkit-box-sizing: border-box;
     -moz-box-sizing: border-box;
          box-sizing: border-box;
  margin: 10px auto 0;
  padding: 10px;
  width: 90%;
}

.jp-cmptemp-terms-contents ul li{
  margin-bottom: 5px;
  padding: 0 0 0 1em;
  text-indent: -1em;
}

/*テキストオプション*/
.mt1em{ margin-top: 1em; }
.jp-cmptemp-terms-contents ul li.noIn{
  padding-left: 0;
  text-indent: 0;
}
.jp-cmptemp-terms-contents dl{
  background: #FFF;
  border: 1px solid #d0d0d0;
  padding: 10px;
}
.jp-cmptemp-terms-contents dl dt{
  margin: 5px;
  font-weight: bold;
}

@media screen and (max-width: 767px) {
  .jp-cmptemp-terms{ background: #fff; padding: 0; }
  .jp-cmptemp-terms-contents{
    margin: 0 auto;
    width: 95%;
  }
}