@charset "UTF-8";
/* CSS Document */

/* ---------------------------------------------------------
                  	common
------------------------------------------------------------ */
/* switch ----------------------- */
.forSP { display: none; }


@media only screen and (max-width:640px) and (max-device-width:1280px){
	
/* ---------------------------------------------------------
                  	common
------------------------------------------------------------ */
/* switch ----------------------- */
.forSP { display: block; }

}

#contents {
font-family: "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴシック Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Verdana, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif !important;
}

/* btn ----------------------- */
.s-btn {
	width: 100%;
	box-sizing: border-box;
	border: #000 1px solid;
	margin-bottom: 1em; 
}
.s-btn a {
	display: block;
	position: relative;
	background-color: #fff;
	color: #000;
	font-weight: bold;
	font-size: 90%;
	vertical-align: middle;
	text-align: center;
	line-height: 1.6;
}
.s-btn a {
	padding: 10px 16px 10px 10px;
	text-align: center;
}
.s-btn a:after {
	display: block;
	position: absolute;
	right: 12px;
	top: 50%;
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	transform: translateY(-50%);
	color: #666;
	content: " \f105";
	font-family: FontAwesome;
	font-size: 120%;
}

/* ---------------------------------------------------------
                  	layout
------------------------------------------------------------ */

h2.summary {
  position: relative;
  text-align: center;
}
h2.summary span {
  position: relative;
  z-index: 2;
  display: inline-block;
  margin: 0 2.5em;
  padding: 0 1em;
  background-color: #fff;
  text-align: center;
  font-size: 150%;
  font-weight: bold;
}

h2.summary::before {
  position: absolute;
  top: 50%;
  z-index: 1;
  content: '';
  display: block;
  width: 100%;
  height: 1px;
  background-color: #ccc;
}

h3.theme {
  margin: 30px auto 20px;
  background: #c69f29;
  text-align: center;
  color: #FFF;
  font-size: 137.5%;
  font-weight: bold;
  padding: 0.25em 0;
}

.theme_text {
  margin: 20px auto 20px;
  text-align: center;
  color: #000;
  font-size: 150%;
  font-weight: bold;
  padding: 0.25em 0;
}

.present_block{
    background: #f4f4f4;
    padding: 1em 2em;
    text-align: center;
    margin-bottom: 2em;
    font-weight: bold;
}

.present_block h4{
    font-size: 125%;
    text-decoration: underline;
}

.method_block{
    margin: 2em 0 0;
    text-align: center;
	position: relative;
}

.method_block:after{
	color:#666;
	content: " \f107";
	font-family: FontAwesome;
	font-size:200%;
	}

 @media only screen and (max-device-width: 1280px) and (max-width: 640px) {
h2.summary span {
  margin: 0 0;
  padding: 0 0;
  font-size: 5.8vw;
}
h2.summary::before {
  position: absolute;
  top: 50%;
  z-index: 1;
  content: '';
  display: block;
  width: 100%;
  height: 0px;
  background-color: #FFF;
}
h3.theme {
  font-size: 5vw;
}

.theme_text {
  font-size: 5.4vw;
}
}

.caution_block{
    text-align: center;
    padding: 20px;
    border: 1px solid #cc0000;
    margin-bottom: 2em;
}

.caution_block h4{
	font-size: 18px;
    color: #cc0000;
    font-weight: bold;
}

.caution_block p{
    margin: 10px 0 0 0 !important;
    padding: 0!important;
}

 @media only screen and (max-device-width: 1280px) and (max-width: 640px) {
.caution_block h4{
  font-size: 4.4vw;
}

.caution_block p{
  font-size: 4vw;
}
}

.special_award_number{
	float: left;
	width: 160px;
  }

.special_award_text{
	float: right;
	width: 290px;
  }
  
.special_award_text h4{
	font-size: 24px;
	margin-top: 30px;
	line-height: 1.2;
  }

.special_award_text h4 span{
	display: block;
	font-size: 16px;
	margin-bottom: 10px;
	line-height: 1.2;
	font-family: "游明朝", "YuMincho", Hiragino Mincho ProN, "ヒラギノ角ゴシック Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Verdana, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  }
  
.special_award_box{
	border: 1px solid #000;
	padding: 10px 30px;
	margin-top: 20px;
  }

 @media only screen and (max-device-width: 1280px) and (max-width: 640px) {
.special_award_number{
	width: 30vw;
  }

.special_award_text{
	width: 62vw;
  }
  
.special_award_text h4{
	font-size: 6vw;
	margin-top: 4vw;
  }

.special_award_text h4 span{
	font-size: 4vw;
	margin-bottom: 2vw;
  }

.special_award_text p{
	font-size: 3.8vw;
  }

}


.flow {
	background: #000;
	padding: 10px 0 40px;
	color: #FFF;
}
.flow h2.rule {
	font-size: 187.5%;
	text-align: center;
	font-weight: bold;
	color: #FFF;
}
.flow h2.rule::before {
	content: '＼';
	padding-right: 10px;
}
.flow h2.rule::after {
	content: '／';
	padding-left: 10px;
}
.insta_logo {
	width: 252px;
	margin: 40px auto 20px;
}
.flow h2.announcement {
	font-size: 162.5%;
	text-align: center;
	font-weight: normal;
	color: #FFF;
	margin: 20px auto 20px;
    text-decoration: underline;
}

.flow h2.announcement a {
	color: #FFF;
}
.award {
	width: 90px;
	margin: 30px auto 10px;
}
.about_tag, .award_text {
	text-align: center;
}
 @media only screen and (max-device-width: 1280px) and (max-width: 640px) {
.flow h2.rule {
	font-size: 6vw;
}
.flow h2.rule::before {
	content: '';
	padding-right: 0px;
}
.flow h2.rule::after {
	content: '';
	padding-left: 0px;
}
.insta_logo {
	width: 60vw;
}
.award {
	width: 30vw;
}
.about_tag, .award_text {
	text-align: left;
}
}
.pc_flow {
	width: 966px;
	height: 725px;
	position: relative;
	background: url(../img/bg_pc_flow.png) no-repeat;
	margin: 50px 0 0;
}
.pc_flow_01 {
	width: 294px;
	position: absolute;
	top: 0;
	left: 0;
}
.pc_flow_01 .number {
	width: 20px;
	position: absolute;
	top: -20px;
	left: 137px;
}
.pc_flow_01 h3 {
	width: 294px;
	position: absolute;
	top: 44px;
	left: 0px;
	font-size: 22px;
	text-align: center;
	line-height: 1.4;
	color: #FFF;
}
.pc_flow_01 p.lead {
	width: 294px;
	position: absolute;
	top: 150px;
	left: 0px;
	text-align: center;
	line-height: 1.4;
	color: #000;
	font-size: 18px;
}
.pc_flow_01 .account {
	width: 164px;
	position: absolute;
	top: 250px;
	left: 65px;
}
.pc_flow_01 p.account_name {
	width: 266px;
	position: absolute;
	top: 420px;
	left: 16px;
	text-align: center;
	line-height: 1.4;
	color: #000;
	font-weight: bold;
	font-size: 20px;
}
.pc_flow_01 p.a-btn {
	width: 266px;
	position: absolute;
	top: 460px;
	left: 16px;
	text-align: center;
}
.pc_flow_01 p.flow_01_text {
	width: 266px;
	position: absolute;
	top: 540px;
	left: 16px;
	text-align: center;
	line-height: 1.8;
	color: #000;
	font-size: 15px;
}
.pc_flow_01 p.flow_01_text img {
	vertical-align: bottom;
	padding-right: 10px;
}
.pc_flow_01 .google_play {
	width: 135px;
	position: absolute;
	top: 640px;
	left: 16px;
}
.pc_flow_01 .app_store {
	width: 120px;
	position: absolute;
	top: 640px;
	left: 160px;
}
.pc_flow_02 {
	width: 294px;
	position: absolute;
	top: 0;
	left: 336px;
}
.pc_flow_02 .number {
	width: 20px;
	position: absolute;
	top: -20px;
	left: 137px;
}
.pc_flow_02 h3 {
	width: 294px;
	position: absolute;
	top: 44px;
	left: 0px;
	font-size: 22px;
	text-align: center;
	line-height: 1.4;
	color: #FFF;
}
.pc_flow_02 p.lead {
	width: 294px;
	position: absolute;
	top: 150px;
	left: 0px;
	text-align: center;
	line-height: 1.4;
	color: #000;
	font-size: 18px;
}
.pc_flow_02 .flow_02_pict01 {
	position: absolute;
	top: 240px;
	right: -24px;
}
.pc_flow_02 h4 {
	width: 266px;
	position: absolute;
	top: 590px;
	left: 16px;
	text-align: center;
	line-height: 1.4;
	background: #c8a01e;
	font-size: 16px;
	color: #FFF;
	padding: 4px 0;
}
.pc_flow_02 p.flow_02_text {
	position: absolute;
	top: 630px;
	left: 16px;
	text-align: left;
	line-height: 1.8;
	color: #000;
	font-size: 14px;
	font-weight: 600;
}
.pc_flow_03 {
	width: 294px;
	position: absolute;
	top: 0;
	right: 0px;
}
.pc_flow_03 h3 {
	width: 294px;
	position: absolute;
	top: 30px;
	left: 0px;
	font-size: 22px;
	text-align: center;
	line-height: 1.4;
	color: #FFF;
}
.pc_flow_03 .number {
	width: 20px;
	position: absolute;
	top: -20px;
	left: 137px;
}
.pc_flow_03 .hash_box {
	width: 274px;
	height: 180px;
	position: absolute;
	top: 150px;
	left: 10px;
	border: #c8a01e 1px solid;
}
.pc_flow_03 h4.hash {
	width: 260px;
	position: absolute;
	top: 6px;
	left: 6px;
	text-align: center;
	line-height: 1.4;
	background: #c8a01e;
	font-size: 16px;
	color: #FFF;
	padding: 4px 0;
}
.pc_flow_03 p.flow_03_text_01 {
	width: 274px;
	position: absolute;
	top: 48px;
	left: 0px;
	text-align: center;
	line-height: 1.4;
	color: #000;
	font-size: 22px;
	font-weight: bold;
}
.pc_flow_03 p.flow_03_text_01 span {
	color: #000;
	font-size: 16px;
	font-weight: normal;
}
.pc_flow_03 .tag_box {
	width: 274px;
	height: 330px;
	position: absolute;
	top: 370px;
	left: 10px;
	border: #c8a01e 1px solid;
}
.pc_flow_03 h4.tag {
	width: 260px;
	position: absolute;
	top: 6px;
	left: 6px;
	text-align: center;
	line-height: 1.4;
	background: #c8a01e;
	font-size: 16px;
	color: #FFF;
	padding: 4px 0;
}
.pc_flow_03 p.flow_03_text_02 {
	width: 266px;
	position: absolute;
	top: 46px;
	left: 0px;
	text-align: center;
	line-height: 1.4;
	color: #000;
	font-weight: bold;
	font-size: 20px;
}
.pc_flow_03 .flow_03_pict01 {
	position: absolute;
	top: 80px;
	left: 30px;
}
 @media only screen and (max-device-width: 1280px) and (max-width: 640px) {
.sp_flow_number {
	width: 100%;
	background: url(../img/bg_sp_flow.png) repeat-x #af8500;
	padding-bottom: 3vw;
	margin-top: 20px;
}
.sp_flow_number .number {
	width: 5vw;
	margin: 0 auto;
}
.sp_flow_number h3 {
	font-size: 6vw;
	text-align: center;
	line-height: 1.4;
	margin: 3vw auto 0;
	color: #FFF;
}
.sp_flow_text {
	width: 100%;
	background: #FFFFFF;
	padding: 6vw 0;
	color: #000;
	text-align: center;
}
.sp_flow_text .lead {
	font-size: 5vw;
}
.sp_flow_text .account {
	width: 60vw;
	margin: 4vw auto;
}
.sp_flow_text .account_name {
	font-size: 6vw;
	font-weight: bold;
	margin: 4vw auto;
}
.sp_flow_text .a-btn {
	width: 80vw;
	margin: 4vw auto
}
.sp_flow_text p.flow_01_text {
	font-size: 4vw;
	margin: 0 auto 4vw;
}
.sp_flow_text .insta_logo {
		width: 46vw!important;
}
.sp_flow_text .google_play {
	width: 46vw;
	float: left;
	padding-left: 6vw;
}
.sp_flow_text .app_store {
	width: 41vw;
	float: right;
	padding-right: 6vw;
}
.sp_flow_text h4 {
	text-align: center;
	line-height: 1.4;
	background: #c8a01e;
	font-size: 4vw;
	color: #FFF;
	width: 76vw;
	margin: 4vw auto 4vw;
	padding: 2vw;
}
.sp_flow_text .flow_02_pict01 {
	padding: 4vw 0 4vw 16vw;
}
.sp_flow_text p.flow_02_text {
	font-size: 4vw;
	margin: 4vw auto;
	text-align: left;
	width: 76vw;
	font-weight: 600;
}
.sp_flow_text p.flow_03_text_01 {
	font-size: 6vw;
	font-weight: bold;
}
.sp_flow_text p.flow_03_text_01 span {
	font-size: 4vw;
	font-weight: normal;
}
.sp_flow_text p.flow_03_text_02 {
	font-size: 6.6vw;
	font-weight: bold;
	margin: 4vw auto;
}
.sp_flow_03 .sp_flow_text h4 {
	text-align: center;
	line-height: 1.4;
	background: #c8a01e;
	font-size: 4vw;
	color: #FFF;
	width: 76vw;
	margin: 4vw auto 4vw;
	padding: 2vw;
}
.sp_flow_03 .box {
	width: 86vw;
	border: #c8a01e 1px solid;
	margin: 0 auto;
	padding: 0 0 3vw;
}

.sp_flow_03 .flow_03_pict01 img{
	width: 64vw!important;
	margin : 0 auto;
}
.flow_03_text_plus {
	font-size: 12vw;
	margin: 2vw auto;
	color: #000;
	text-align: center;
}
.sp_flow .plus_white {
	font-size: 12vw;
	margin: 2vw auto;
	color: #FFF;
	text-align: center;
}
}

/* btn ----------------------- */
.a-btn {
	width: 100%;
	box-sizing: border-box;
	margin-bottom: 1em; 
}
.a-btn a {
	display: block;
	position: relative;
	background-color: #af8500;
	color: #FFF;
	font-weight: bold;
	font-size: 90%;
	vertical-align: middle;
	text-align: center;
	line-height: 1.6;
	border-radius: 20px;
}
.a-btn a {
	padding: 5px 16px 5px 5px;
	text-align: center;
}
.a-btn a:after {
	display: block;
	position: absolute;
	right: 12px;
	top: 50%;
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	transform: translateY(-50%);
	color: #FFF;
	content: " \f105";
	font-family: FontAwesome;
	font-size: 120%;
}

/* btn ----------------------- */
.insta-btn {
	box-sizing: border-box;
	margin: 0 auto 2em;
	width: 500px;
	text-align: center;
}
.insta-btn a {
	width: 500px;
	display: block;
	position: relative;
	background-color: #f8e177;
	color: #000;
	font-weight: bold;
	font-size: 137.5%;
	vertical-align: middle;
	text-align: center;
	line-height: 1.6;
	margin: 0 auto 1em;
}

.insta-btn a img {
	width: 30px;
	margin-top: 2px;
	margin-right:10px;
}
.insta-btn a {
	padding: 10px 16px 10px 10px;
	text-align: center;
}
.insta-btn a:after {
	display: block;
	position: absolute;
	right: 12px;
	top: 50%;
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	transform: translateY(-50%);
	color: #666;
	content: " \f105";
	font-family: FontAwesome;
	font-size: 120%;
}

 @media only screen and (max-device-width: 1280px) and (max-width: 640px) {
.insta-btn {
	width: 100%;
}
.insta-btn a {
	width: 100%;
	font-size: 4vw;
}

.insta-btn a img {
	width: 8vw !important;
}
}

#prize h2 {
	text-align: center;
	font-size: 200%;
	font-weight: bold;
	color: #c09626;
	margin: 10px auto 0;
}
#prize h2 span {
	font-size: 88% ;
	font-weight: normal;
	display: block;
}
#prize h3.theme {
	text-align: center;
	font-size: 150%;
	font-weight: bold;
	color: #FFF;
	margin-bottom: 20px;
    background:#c09626;
}
#prize h4 {
	text-align: center;
	font-size: 137.5%;
	font-weight: bold;
	color: #000;
    text-decoration: underline;
}
.winner h5{
	font-size: 150%;
	font-weight: bold;
	color: #c09626;
	margin-top: 20px;
}

.winner p{
	color: #c09626;
	margin-top: 10px;
}

.congrats{
	font-size: 175%;
	font-weight: bold;
	color: #c09626;
	text-align: center;
	margin: 0 0 50px;
}
 @media only screen and (max-device-width: 1280px) and (max-width: 640px) {

#prize h2 {
	font-size: 8vw;
}
#prize h2 span {
	font-size: 6vw;
}

#prize h3 {
	font-size: 5vw;
}
     
#prize h4 {
	font-size: 4.6vw;
}

.winner h5{
	font-size: 7vw;
	margin-top: 20px;
	text-align: center;
}

.winner p{
	font-size: 4vw;
}
.congrats{
	font-size: 5.4vw;
}
}

/* box ----------------------- */


.box{
	border: 1px solid #000;
	border-radius: 5px;
	position: relative;
	margin-top: 1em;
	padding: 20px;
}

.box h3 i{
	font-size: 125%;
}
.box h3{
	font-size: 106%;
	margin-bottom: 10px;
	font-weight: bold;
}

.box p{
	font-size: 93%;
}

 @media only screen and (max-device-width: 1280px) and (max-width: 640px) {

.box h3 i{
	font-size: 5vw;
}
.box h3{
	font-size: 4vw;
}

.box p{
	font-size: 3.4vw;
}
}