@charset "UTF-8";
/* CSS Document */
/* 共通Mixins
----------------------------*/
.clearfix::after{
  content: "";
  display: block;
  clear: both;
}
/* ----------------------------
  common
------------------------------*/
header {
  border-bottom: none;
  padding-bottom: 0;
}
header .text{
  text-align: right;
  margin-bottom: 15px;
}
header#header .text img{
  display: inline-block;
}
#contents {
}
#contInner {
  width: 100%;
  margin-left: 0;
}
#main {
  margin: 0;
  padding: 0;
}
#gNav,
#sideBnr,
footer .container,
footer .inner .footerPageLi {
  display: none;
}
.pc_appear {
  display: block;
}

.sp_appear {
  display: none;
}
.pc_inline_appear{
  display: inline-block;
}
.sp_inline_appear{
  display: none;  
}
/* ----------------------------
  content
------------------------------*/
/* --------------------
 共通
----------------------*/
.appCam {
  font-family: 'Noto Sans JP', 'Hiragino Kaku Gothic Pro', 'ヒラギノ角ゴ Pro W3', 'メイリオ', 'MS PGothic', sans-serif;
  max-width: 1280px;
  margin: auto;
}

.appCam *,
.appCam *:before,
.appCam *:after {
  box-sizing: border-box;
}

.appCam_title {
}

.appCam_contents {
  padding: 3.625% 0 3% 0;
}

.section_inner {
  max-width: 1160px;
  margin: 0 auto;
}



/* mainvisual
------------------------*/
.mainvisual {
  width: 100%;
  /* background: #b73581; */
}

.mainvisual_inner {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  flex-direction: column;
}

.mainvisual h3{
  font-size: 2.5em;
  font-weight: bold;
  color: #FFFF52;
  background: #b73581;
  padding: 1.5% 5% 1.5% 5%;
  /* margin-top: -5.4%; */
  line-height: 1.2em;
  text-align: center;
}

/* nav
------------------------*/
.nav {
  padding: 3.125% 0 5% 0;
}

.nav .pagenav {
  width: 100%;
  max-width: 1160px;
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}

.nav .pagenav_item {
  width: 22.4%;
  box-sizing: border-box;
  margin-left: 3.4%;
}

.nav .pagenav_item:first-child {
  margin-left: 0;
}


/* btn
-------------------------*/
.btn {
  width: 100%;
  margin: 15.4% auto 0;
}

.btn:first-child {
  margin-top: 0;
}

.btn_wrap {
  max-width: 650px;
  margin: 6.25% auto 0;
}

.btn_anchor {
  display: inline-block;
  transition: 0.3s cubic-bezier(0.13, 0.78, 0.38, 0.98);
}

.btn_anchor:hover {
  opacity: 0.7;
}

/* -----------------------------------
cam_info
-------------------------------------*/
.main_app {
  background-image: url(../img/bg_left.png), url(../img/bg_right.png);
  background-repeat: no-repeat, no-repeat;
  background-position: left top, right top;
  background-size: contain;
}

.section_inner{
  width: 62.5%;
  margin: auto;
}

.section_inner > div{
  margin-bottom: 50px;
}

.title {
  margin: 0 auto 50px;
}
.cam_content dl{
  font-weight: bold;

}
.cam_content dl:after{
  content : " ";
  display : block;
  clear : both;
}
.cam_content dt{
  float: left;
  font-size: 140%;
  width: 150px;
  background: #000;
  color: #fff;
  margin-bottom: 10px;
  text-align: center;
  padding:10px 0 12px 0;
}
.cam_content dd{
  font-size: 240%;
  line-height: 1.1em;
  margin-left: 170px;
  margin-bottom: 14px;
  padding:0;
  color: #000;
}
.cam_content dd .time{
  font-size: 80%;
}
.cam_content dd.place{
  padding-top: 8px;
  font-size: 180%;
}
dl.prize-grade dt{
  background: #b73581;
  color: #fff;
}
dl.prize-grade dt.grade01{
  font-size: 200%;
  padding: 20px 0 20px 0;
}
dl.prize-grade dt.grade02,
dl.prize-grade dt.grade03{
  font-size: 150%;
  margin-top: 15px;
  padding: 20px 0 20px 0;
}
dl.prize-grade dd{
  color: #b73581;
  font-size: 140%;
  padding-top: 15px;
  margin-bottom: 0;
}
dl.prize-grade dd.grade01{
  padding-top: 0;
}
dl.prize-grade dd.grade01 span{
  display: block;
  font-size: 190%;
  margin-top: 8px;
  line-height: 1.2em;
}
dl.prize-grade dd.grade02 span{
  display: block;
  font-size: 150%;
  margin-top: 8px;
  line-height: 1.2em;
}
.cam_content .note{
  color: #000;
  font-size: 160%;
  margin-top: 15px;
  font-weight: bold;
}

/* -----------------------------------
cam_howto
-------------------------------------*/

.cam_howto .step_area{
}
.cam_howto .step_area:after{
  content : " ";
  display : block;
  clear : both;
}

.cam_howto .step{
  float: left;
  width: 31.916%;
  margin-left: 2.125%;
  background: #FFF8FD;
  line-height: 1.4em;
}

.cam_howto .step:first-child{
  margin-left: 0;
}

.cam_howto .step .title{
  background: #000;
  font-weight: bold;
  font-size: 130%;
  text-align: center;
  color: #fff;
  padding: 16px 0;
  margin-bottom: 0;
}

.cam_howto .step .caption{
  min-height: 65px;
  display: flex;
  align-items: center;
  justify-content: center;
  /* vertical-align: middle; */
  font-weight: bold;
  font-size: 130%;
  color: #c80909;
  text-align: center;
  padding: 15px 0 15px;
}

.cam_howto .step .con{
  padding: 0 15px 15px;
  line-height: 1.6;
}
.cam_howto .step .note{
  padding: 0px 15px 15px 28px;
  text-indent: -1em;
  font-size: 0.9em;
}

/* -----------------------------------
appDown
-------------------------------------*/

.appDown{
  margin: 1% auto 0;
  padding-bottom: 5%;
  text-align: center;
  line-height: 1.4em;
}
.appDown .btn-down:after{
  content : " ";
  display : block;
  clear : both;
}
.appDown .ttl_down{
  margin-bottom: 5%;
}
.btn-down{
  margin-bottom: 5%;
}
.btn-down .store{
  float: left;
  width: 50%;
}
.btn-down .app-store{
  border-right: 2px solid #d0d0d0;
}
.btn-down .caption{
  padding: 0 0 5% 0;
}

.btn-down .store-name{
  font-weight: bold;
  font-size: 230%;
  margin-bottom: 15px;
  padding: 0 0 5% 0;
}
.btn-down .qr{
  margin-bottom: 15px;
}

.trademark{
  line-height: 1.6em;
}


/* -----------------------------------
appNote
-------------------------------------*/
.appNote{
  background: #f5f5f5;
  padding: 3%;
  line-height: 1.6em;
  margin-bottom: 6%;
}


/* scroll_fadein
--------------------------*/
.fade_in {
  opacity: 0;
  transform: translate(0, 50px);
  transition: all .8s;
}

.fade_in.scroll_in {
  opacity: 1;
  transform: translate(0, 0);
}

.kv_fade_in {
  opacity: 0;
  transform: translate(0, 50px);
  transition: all .8s;
}

.kv_fade_in.kv_scroll_in {
  opacity: 1;
  transform: translate(0, 0);
}
