@charset "UTF-8";

/** ========================================================
 * ページ全体の定義
 * @ PAGE
 * ====================================================== */
*{
  box-sizing:border-box;
}
html {font-size: 100%;}
/* html,body,.wrapper{height:100%;} */
body {
  -webkit-text-size-adjust: 100%;
  position: relative;
  color: #8e8e8e;
  background: #e0f5ff;
  width: 100%;
  max-width: 768px;
  margin: 0 auto;
  font-family: 'メイリオ',Meiryo,'ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','ＭＳ Ｐゴシック','MS P Gothic','Osaka';
  font-size: 16px;
  line-height: 1.5;
}
img{
  max-width: 100%;
  vertical-align: bottom;
}

/* header */
header{
  position: fixed;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  max-width: 768px;
  padding: 8px 0;
  border-bottom: 2px solid #6d6e73;
  zoom: 1;
  z-index: 20;
  background: url(/assets/img/header_img.jpg) no-repeat top left / 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}
header .header_inner{
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
}
header .header_inner .menu-btn{
  position: absolute;
  top: 50%;
  left: 27px;
  width: 24px;
  transform: translateY(-50%);
}
header .header_inner .logo{
  width: 218px;
  margin-left: 10px;
}

.slide_menu_wrap{
  position: fixed;
  top: 0;
  left: 0;
  width: 71%;
  max-width: 768px;
  margin: 0 auto;
  overflow: hidden;
}
.slide_menu{
  position:absolute;
  z-index: 20;
  top:0;
  left: -120%;
  width: 100%;
  height: 100vh;
  background:#c2eaff;
  padding: 24px 26px;
  transition: all 0.6s;
  border-left: 1px solid #ccc;
}
.slide_menu_wrap.is-active .slide_menu{
  left: 0;
}
.slide_menu .menu-btn{
  width: 24px;
}
.slide_menu .menu-title a{
  color: #fff;
  font-size: 24px;
}
.slide_menu .menu-list{
  padding: 25px 0 0;
}
.slide_menu .menu-list .list_item:not(:first-of-type){
  margin-top: 6px;
}
.slide_menu .menu-list .list_item a{
  color: #2b89ba;
  font-size: 14px;
  line-height: 1.5;
}


/* 背景 */
main.bg_stripe{
  padding: 12px 0 100px;
  background: url(/assets/img/bg.jpg) top left / 160%;
}

/* index */
.content_block{
  max-width: 1075px;
  margin: 0 auto;
}
.primary_heading img,
.secondary_heading img,
.content_block img{
  display: block;
  margin: 0 auto;
}

/* カメラで４コマ写真を作ろう！ */
.intro_img{
  position: relative;
  margin: 54px 0 0;
}
.intro_img .img_balloon{
  position: absolute;
  top: -38px;
  left: 5px;
  width: 40vw;
}
.intro_img .img_main img{
  width: 66vw;
  margin: 0 auto;
}

/* どんなあぷり？？ */
.content_block-howto{
  margin-top: 18px;
}
.content_block-howto .primary_heading{
  text-align: center;
}
.content_block-howto .primary_heading img{
  width: 87vw;
}
.content_block-howto .howto_box{
  margin: 15px 0 0;
}
.content_block-howto .howto_box + .howto_box{
  margin-top: 30px;
}
.content_block-howto .howto_box .secondary_heading img{
  width: 71vw;
}
.content_block-howto .howto_box .howto_img img{
  width: 88vw;
  margin: 12px auto 0;
}
.howto_note{
  margin: 28px 10px 0;
}
.howto_note li{
  margin-left: 1em;
  text-indent: -1em;
  font-size: 15px;
  font-weight: 500;
  line-height: 1.2;
}
.howto_note li + li{
  margin-top: 20px;
}

/* DLボタン */
.app_dl{
  margin: 55px 0 0;
}
.app_dl a{
  display: block;
  width: 128px;
  margin: 0 auto;
}

/* サブスクでみんなに シェアしちゃおう！ */
.index .content_block-share{
  padding: 0 25px;
}

/* サブスクですぐに 動画をダウンロード */
.content_block-dl{
  margin-top: 28px;
  padding: 0 25px;
}
.content_block-dl p{
  margin: 20px 0 0;
  font-size: 20px;
  line-height: 1;
}

.sample_movie_block{
  margin-top: 20px;
  width: 100%;
  text-align: center;
}
.sample_movie_block video{
  max-width: 50%;
}

/* 料金説明 */
.about_list{
  margin: 33px 25px 0;
  padding: 12px 15px;
  border: 1px solid #8e8e8e;
  border-radius: 10px;
  background: #fff;
}
.about_list dt{
  font-size: 16px;
  font-weight: bold;
}
.about_list dd{
  margin-top: 3px;
  font-size: 14px;
}
.about_list dd a{
  display: inline-block;
}
.about_list dd + dt{
  margin-top: 13px;
  padding-top: 13px;
  border-top: 1px dashed #8e8e8e;
}


/* Twitterのみんなの投稿 */
.content_block-twitter{
  margin-top: 45px;
  padding: 0 25px;
}
.twitter_heading{
  background: #0086d0;
  color: #fff;
  font-weight: 500;
  font-size: 20px;
  padding: 16px 8px 8px;
  line-height: 1;
}
.twitter_inner{
  border: 4px solid #0086d0;
  background: #fff;
}

/* 広告バナー */
.advertisement_bnr img{
  width: 100%;
}

footer .copyright{
  padding: 15px 0;
  background: #0096ff;
  color: #fff;
  font-size: 11px;
  text-align: center;
}
#js-fixed_block{
  position: fixed;
  bottom: 10px;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  max-width: 768px;
  padding: 0 25px;
}
#js-fixed_block .content_block-share{
  margin-top: 0;
}
.page_top{
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  margin: 10px 0 0 auto;
  padding-top: 3px;
  background: rgba(0, 134, 208, .48);
  border-radius: 50%;
  color: #fff;
  font-size: 12px;
  font-weight: bold;
}


/* ダウンロードページ */
main.dl{
  padding-top: 9px;
}
main.dl > h1,
main.dl > p,
main.dl > div{
  padding: 0 25px;
}
.primary_heading img,
.secondary_heading img{
  width: 80vw;
}

/* 有効期限 */
.dl_period{
  margin: 13px 0 0;
  text-align: center;
  font-size: 18px;
  line-height: 1.2;
}

/* 写真を保存する！ */
.content_block-dl_img{
  margin-top: 10px;
}
.secondary_heading + img{
  margin-top: 30px;
}
main.dl .dl_btn{
  margin-top: 40px;
}

/* 動画を保存する！ */
.content_block-movie{
  margin-top: 40px;
}
.content_block-movie .movie_block{
  margin-top: 40px;
}
.content_block-movie .movie_block video{
  display: block;
  margin: 0 auto;
  width: 100%;
}

/* コンビニでプリントする */
.content_block-print{
  margin-top: 50px;
  padding: 0!important;
}
.content_block-print .secondary_heading,
.content_block-print .print_code{
  padding: 0 25px;
}
.content_block-print .print_code span{
  display: inline-block;
  width: 100%;
  margin-top: 42px;
  padding: 5px 0;
  border: 1px solid #6d6e73;
  border-radius: 100vh;
  background: #fff;
  color: #8e8e8e;
  font-size: 18px;
  text-align: center;
}
.content_block-print .print_txt{
  margin-top: 17px;
  padding: 20px 25px 10px;
  background: linear-gradient(to bottom, transparent, #fff 80%);
  font-size: 15px;
  font-weight: bold;
  text-align: center;
  line-height: 1.2;
}

/* シェアする？ */
.content_block-share {
  display: flex;
  align-items: center;
  margin-top: 80px;
}
.content_block-share .share_txt{
  width: 37.5%;
  margin: 0;
}
.content_block-share .share_links{
  display: flex;
  align-items: center;
  width: 62.5%;
  padding-left: 10px;
}
.content_block-share .share_links a{
  width: 8vw;
}
.content_block-share .share_links a + a{
  margin-left: 1.5vw;
}

/* エラー */
.error_block{
  margin-top: 20px;
}


/* 利用規約 */
.terms .primary_heading{
  margin-top: 10px;
}
.terms_block{
  margin: 30px 25px 0;
  font-size: 14px;
}
.terms_heading{
  font-size: 18px;
}
.terms_heading + p,
.terms_heading + ul{
  margin-top: 5px;
}
.num_list li{
  text-indent: -1.5em;
  margin-left: 1.5em;
}
.brackets_list li{
  text-indent: -2em;
  margin-left: 2em;
}
.terms_block-last{
  text-align: right;
}