@charset "UTF-8";
/* google font */
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700&family=Roboto:ital,wght@0,500;0,700;1,400&display=swap");/* ------------------------------------------------------------
  base
------------------------------------------------------------ */
body{
  width:auto;
  position: relative;
  overflow-x:hidden;
  margin:0;
  padding:0;
  color: #333;
  background-color:#fff;
  text-align:center;
  font-family:'Noto Sans JP', sans-serif;
  font-weight:400;
  font-size:16px;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-feature-settings: "palt" 1;
  word-wrap: break-word;
  overflow-wrap: break-word;
  color: #000;
  -webkit-text-size-adjust: 100%;
}


img{
  width:auto;
  height:auto;
  max-width:100%;
  vertical-align:bottom;
}

a{
  color:#3592E6;
  text-decoration:none;
}
a > span{ border-bottom:1px solid #3592e6; }

a:hover{
  opacity:0.8;
}

a.mail{
  text-decoration:none;
  color:#000;
}

span.w-1em{
  display:inline-block;
  width:1em;
  text-align:center;
}

.t-bold{
  font-weight:700;
}
.t-normal{
  font-weight:400;
}
.t-small{
  font-size:85%;
}

.red{
  color:#f00;
}

.indent1{
  padding-left:1em;
}
.indent1 span:first-of-type{
  display:inline-block;
  width:1em;
  text-align:center;
  margin-left:-1em;
}

.spOnly {
	display: none;
}
@media (max-width: 743px) {
  body{
    font-size:3.2vw;
  }
	.pcOnly {
		display: none !important;
	}
	.spOnly {
		display: block;
	}
}


/* ------------------------------------------------------------
  pc <=> sp view change
------------------------------------------------------------ */

.pc-view{
  display:inline;
}

div.pc-view,
p.pc-view{
  display:block;
}

.sp-view{
  display:none;
}
.mt01 {
	margin-top: 1em;
}
@media (max-width: 743px) {
  .sp-view{
    display:inline;
  }

  div.sp-view,
  p.sp-view{
    display:block;
  }

  .pc-view{
  display:none;
  }
}
.u-visually-hidden {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  margin: -1px !important;
  border: 0 !important;
  padding: 0 !important;
  clip: rect(0 0 0 0) !important;
  clip-path: inset(50%) !important;
  overflow: hidden !important;
  white-space: nowrap !important
}

/* ------------------------------------------------------------
  header
------------------------------------------------------------ */
h1{
  display:block;
	font-size: 3.2rem;
	color: #fff;
	margin-inline: auto;
}
h1 span,
header > .hw div{
  display:block;
  max-width:1260px;
  margin:0 auto;
}
/*header .hw {
	max-width: 100%;
	width: 100%;
	background-image: url("../img/kv-pc_bg.png");
	background-position: top center;
	background-repeat: repeat-x;
	background-size: 1px auto;
}
header .hw div{
  background-color:#f0f0fc;
}*/

h1 span img{
  vertical-align:top;
}
.form__header_img {
	width: 100%;
  margin: 0 auto;
  display: block;
  padding: 0;
	max-width: 1260px;
}

@media (max-width: 743px) {
  header > div{
    margin-top:0;
		background: none;
  }
	header .hw {
		background-image: none;
	}
	header h1 {
		background: none;
	}
}
/* ------------------------------------------------------------
  main
------------------------------------------------------------ */

main{
  max-width:1260px;
  width:100%;
  margin:0 auto;
}

main .inner{
  margin:1em 5vw;
  max-width:1080px;
  width:auto;
  display:inline-block;
}

main .inner > div {
  text-align:left;
  margin-top:60px;
}

@media (max-width: 743px) {
  main{
		width:100%;
	}
  main .inner{
    margin:1em 0;
    max-width:100%;
		padding:0 5vw;
		box-sizing: border-box;
  }
  main .inner > div {
    margin-top:12vw;
  }
	main .inner #prize {
		margin-top: 0;
	}
}

main h2{
  background-color:#000;
  color:#fff;
  font-size:175%;
  font-weight:700;
  padding:0.4em 0;
  text-align:center;
  letter-spacing:0.2em;
}


/* #buttons ---------------------- */
main #buttons {
	width: 100%;
	display: flex;
	align-content: flex-start;
	align-items: flex-end;
	justify-content: center;
	flex-wrap: wrap;
}
main #buttons a {
  /*display:inline-block;*/
  display: block;
  width:48.6%;
  background:linear-gradient(to bottom, #B4922C, #D5C78C);
  padding:0 2.5% 0 2.5%;
  border-radius:10px;
  overflow:visible;
  line-height:1.2;
}
main #buttons a:first-of-type{
  margin:0 2.8% 0 0;
}
main #buttons a img{
  margin-top:-2.5%;
}
@media (max-width: 743px) {
  main #buttons a {
    width:100%;
    border-radius:2.5vw;
    padding:0 7.5vw 1% 7.5vw;
  }
  main #buttons.gacha_only a:first-of-type{
    margin:0 0 0 0;
		width: 100%;
  }
}
@media (min-width: 744px) {
	main #buttons.gacha_only a {
		margin: 0;
		width: 65%;
	}
}
.tx_proof {
	text-align: center;
	font-size: 28px;
	font-weight: bold;
	margin-top: 2em;
}
.btn_proof {
	text-align: center;
	font-size: 25px;
	font-weight: bold;
	line-height: 2.8;
	width: 50%;
	min-width: 18em;
	margin: 1em auto 0;
}
.btn_proof a {
	display: block;
	color: #fff;
	background-color: #487EC6;
	border-radius: 5px;
	background-image: url(../img/arrow.svg);
	background-size: .4em auto;
	background-position: 98% 50%;
}


#kikan {
	margin-top: 75px;
	padding-right: 17%;
}
@media (max-width: 743px) {
	#kikan {
		padding-right: 0;
	}	
.tx_proof {
	font-size: 4vw;
	margin-top: 1.5em;
}
.btn_proof {
	font-size: 3.7vw;
	width: 100%;
	line-height: 3;
	min-width: none;
}
}



/* #target ---------------------- */

main #target{
  background-color:#F6F1D5;
  padding:30px 30px 50px 30px;
}
main #target .t_in {
	width: 100%;
	display: flex;
	flex-wrap: wrap;
	align-content: flex-start;
	justify-content: space-between;
	align-items: flex-start;
	flex-direction: column;
	background-image: url("../img/edge60spro_img.png");
	background-position: center right;
	background-repeat: no-repeat;
	background-size: auto 95%;
}
main #target h2{
  background-color:#fff;
  color:#000;
	text-align: center;
	width: 62%;
}
main #target .logo {
	width: 62%;
	padding: 50px 1% 60px;
}
main #target .btns {
	width: 62%;
	display: flex;
	flex-wrap: wrap;
	align-content: flex-start;
	align-items: flex-start;
	justify-content: space-between;
}
main #target .btns a {
	display: block;
	width: 48%;
	background-color: #AA7E1D;
  text-align:center;
  text-decoration:none;
  color:#fff;
  /*font-size:min(24px,3vw);*/
	font-size: 24px;
  font-weight:700;
  border-radius:10px;
  line-height:1.2;
	padding: 1.2em 0;
}
main #target .btns a:after{
  content:"";
  display:inline-block;
  width:1em;
  height:1em;
  background:url(../img/blank-w.png) center center no-repeat;
  background-size:contain;
  vertical-align:-7%;
  margin-left:0.5em;
}
.pre_tx {
	text-align: center;
	font-size: 20px;
	color: #FF0000;
	line-height: 1;
	margin-top: .5em;
}



@media (max-width: 1080px) {
	main #target .t_in {
		background-size: auto 90%;
	}
	main #target .logo {
		padding: 5vw 1% 5vw;
	}	
	main #target .btns a {
		font-size: 2vw;
	}
}
@media (max-width: 743px) {
	main .inner.tg {
		padding: 0;
	}
  main #target{
    padding:5vw 5vw 5vw 5vw;
  }
	main #target .t_in {
		background: none !important;
	}
	main #target h2 {
		width: 100%;
		font-size: 4.2vw;
	}	
	main #target .logo {
		padding: 0;
		width: 100%;
		margin: 3vw 0;
	}
	main #target .btns {
		width: 100%;
	}
	main #target .btns a {
		font-size: 4vw;
	}
	.pre_tx {
		font-size: 3.2vw;
		margin-top: .5em;
	}
}


/* #step ---------------------- */

main #step ul,
main #step ul li{
  list-style:none outside;
}

main #step ul{
  display:flex;
	flex-wrap: wrap;
  margin:30px -0 0 0;
  padding:0;
}
main #step ul li {
  width: 100%;
  background-color:#F6F1D5;
  padding:20px;
	box-sizing: border-box;
	display: flex;
	flex-wrap: wrap;
	align-content: flex-start;
	justify-content: space-between;
	margin-top: 20px;
}
main #step ul li:first-child {
	margin-top: 0;
}
.step_img {
	width: 30%;
}
.step_txt {
	width: 67%;
}
.step_txt p {
	font-size: 20px;
	line-height: 1.5;
}
main #step ul li a:first-of-type{
  display:block;
  padding:0.5em 0;
  text-align:center;
  background-color:#f00;
  background-image:url(../img/arrow.svg);
  background-size:auto 40%;
  background-position:95% 50%;
  border-radius:10px;
  color:#fff;
  text-decoration:none;
  font-weight:bold;
  margin:1em 0 .5em;
  line-height:1.2;
	width: 50%;
	font-size: 25px;
}
.step_g {
	width: 100%;
	margin-top: 20px;
	padding: 15px;
	box-sizing: border-box;
  background:linear-gradient(to bottom, #550c80, #841a86);
}
.step_g_in {
	padding-right: 26%;
	background-image: url("../img/step_g.png");
	background-position: right top;
	background-repeat: no-repeat;
	background-size: contain;
}
main #step .step_g p {
	text-align: left;
	font-size: 20px;
	font-weight: bold;
	color: #fff;
	line-height: 1.5;
	letter-spacing: 0.09em;
	margin: 0;
}
.step_g p span {
	color: #FFFF00;
}
main #step .step_g p.step_gs {
	font-size: 18px;
	font-weight: normal;
	margin-top: 1em;
}


main #step ul li:last-of-type a:first-of-type{
  background-color:#AA7E1D;
}

main #step ul li p{
  margin-top:0.5em;
}

.spOnly.t-small {
	padding: 1em 0;
	font-size: 3.2vw;
}




main #step ul li p strong{
  display:inline-block;
  white-space:nowrap;
  font-size:150%;
  line-height:1.25;
	margin: 0 .2em;
}

main #step ul li.lst a.btm {
	display: block;
	padding: 0.8em 0;
	text-align: center;
	background-color: #487EC5;
	background-image: url(../img/arrow.svg);
	background-size: auto 40%;
	background-position: 95% 50%;
	border-radius: 10px;
	color: #fff;
	text-decoration: none;
	font-weight: bold;
	margin: 0;
	line-height: 1.2;
	width: 100%;
	font-size: 18px;
}
main #step ul li.lst ul {
	display: flex;
	align-content: flex-start;
	align-items: center;
	flex-wrap: wrap;
	justify-content: space-between;
	width: 100%;
}
main #step ul li.lst ul li {
	padding: 0;
	width: 49%;
	margin: 0;
}


@media (max-width: 743px) {
  main #step ul{
    display:block;
    margin:30px 0 0 0;
  }
  main #step ul li{
    margin-right:0;
    margin-top:2.5vw;
    padding:2.5vw 2.5vw 2.5vw 2.5vw;
  }
	.step_img {
		width: 44%;
	}
	.step_txt {
		width: 52%;
		line-height: 1.6;
	}
	.step_g_in {
		padding: 0;
		background-image: none;
	}
	main #step .step_g p {
		font-size: 2.8vw;
	}
	main #step .step_g p.step_gs {
		font-size: 2.6vw;
		margin-top: 0;
	}
	.step_g_img {
		display: table;
		margin-top: 2vw;
	}
	.step_g_img div {
		width: 40%;
		display: table-cell;
		vertical-align: top;
	}
	.step_g_img p {
		width: 60%;
		display: table-cell;
		vertical-align: top;
		padding-left: 1em;
	}
	.step_txt p {
		font-size: 2.5vw;
	}
  
	main #step ul li a:first-of-type {
		width: 100%;
	}
  main #step ul li p:first-of-type{
    margin-top:0;
  }
  main #step ul li a:first-of-type{
    font-size:113%;
    padding:0.5em 0;
  }
	main #step .t-bold {
		font-size: 3vw;
	}
	main #step ul li p strong {
		font-size: 125%;
	}
}


/* #kiyaku ---------------------- */

main #kiyaku dl{
  display:block;
  max-width:1080px;
  width:auto;
  margin:1em 0 0 0;
  padding:0 0 1em 0;
  border-bottom:1px solid #000;
}

main #kiyaku dl dt{
  font-weight:700;
  font-size:125%;
  margin-bottom:0.25em;
}

main #kiyaku.oubo dt{
  font-weight:700;
  font-size:113%;
  margin-bottom:0.25em;
  padding-left:1.5em;
}

main #kiyaku.oubo dt:before{
  content:"";
  background-color:#000;
  width:0.9em;
  height:0.9em;
  overflow:hidden;
  display:inline-block;
  vertical-align:-5%;
  margin-right:0.6em;
  margin-left:-1.5em;
}

main #kiyaku dl dd ol,
main #kiyaku dl dd ul{
  padding-left:1.5em;
}

/* #go-submit ---------------------- */

main #go-submit{
  margin:1em 0;
  text-align:center;
}
main #go-submit #checkBtn{
  opacity:0;
  position:absolute;
  left:-9999px;
}

main #go-submit #entry-button{
  margin:30px 0;
  font-size:125%;
}
main #go-submit #checkBtn + label:before{
  content:"";
  display:inline-block;
  width:0.9em;
  height:0.9em;
  line-height:0.1;
  border:1px solid #999;
  border-radius:3px;
  margin-right:0.3em;
  overflow:visible;
  color:#069;
  vertical-align:middle;
  margin-bottom:0.15em;
  line-height:0.6;
  font-size:0.9em;
  font-weight:normal;
  padding-left:0.1em;
}
main #go-submit #checkBtn:checked + label:before{
  content:"\02714";
  border-color:#00A8B5;
  background-color:#b6e3e7;
}

main #go-submit input[type="button"] {
  color: #fff;
  padding: 20px 0 22px 0;
  border: none;
  background: #00A8B5;
  border-radius: 5px;
  width: 50%;
  font-size:200%;
  letter-spacing:0.1em;
  font-weight:bold;
  line-height:1.2;
}
main #go-submit input[type="button"][disabled] {
  background-color: #ccc;
  cursor: default;
}

@media (max-width: 743px) {
  main #go-submit input[type="button"]{
    padding: 5vw 0 5.2vw 0;
    width:100%;
    font-size:175%;
    border-radius: 1vw;
  }
}


/* ------------------------------------------------------------
  footer
------------------------------------------------------------ */

.footer {
  padding: 4.7rem 0;
  background: #2e2e2e;
  color: #fff;
  margin: 0;
  -webkit-font-smoothing: antialiased;
}
.footer__inner {
  max-width: 1200px;
  margin: 0 auto;
  text-align: left;
  padding: 0 20px
}
.footer__inner p {
  font-size: 14px;
  line-height: 1.5;
  text-align: center;
}
.footer__inner p + p {
  margin-top: 1em
}
.footer__logo {
  width: 307px;
  margin: 0 0 65px;
  line-height: 0
}

@media (max-width: 743px){
  .footer {
    padding: 30px 0;
  }
	.footer__inner {
		padding: 0 5vw;
	}
}
.inner.tg {
	margin: 0 auto;
}
.inner .w_chance {
	width: 100%;
	margin: 55px auto 0;
}
.inner.sp-view {
	display: none;
}
.inner.pc-view {
	display: block;
	margin: 0 auto;
}
@media (max-width: 743px){
	.inner .w_chance {
		width: 100%;
		margin: 3vw auto 0;
	}
	.inner.sp-view {
		display: block;
	}
	.inner.pc-view {
		display: none;
	}
}
.sp-btn {
	display: none !important;
}
@media (max-width: 743px){
.sp-btn {
	display: flex !important;
}
main #step ul li.lst ul {
	width: 90%;
	margin: 3vw auto 2vw;
}
main #step ul li.lst ul li {
	width: 100%;
}
main #step ul li.lst a.btm {
	font-size: 3vw;
	font-weight: bold;
}
main #step ul li.lst ul li:nth-child(2) {
	margin-top: 1em;
}

	.pc-btn {
		display: none !important;
	}
}
@media (max-width: 1080px){ 
	.pc-btn a {
		padding-right: 2em !important;
		padding-left: 1em !important;
	}
	.allow.gacha {
		padding-right: 1em !important;
		padding-left: .5em !important;
	}	
}
.guide {
	overflow: hidden;
}
main #step ul li.lst ul li.txt {
	width: 100%;
}
@media (max-width: 743px){
	main #step ul li.lst ul li.txt {
		width: 100%;
		margin-top: .5em;
	}
}
.guide h3 {
	text-align: center;
	font-size: 25px;
	margin: 3em 0 1em;
}
.guide01 {
	width: 100%;
	margin: 0 auto;
	text-align: center;
}
.guide01 img {
	max-width: 767px;
	width: 100%;
}
.guide .how {
	padding: 0 5%;
}
.guide .how h3 {
	text-align: left;
	margin-bottom: 0;
}
.guide .how p,
.guide .how h4 {
	text-align: left;
	margin: 1em 0 0 0;
	font-size: 20px;
}
.guide .how h4 + p {
	margin-top: .5em;
}
.guide .how h4 {
	margin-top: 2.4em;
	font-size: 22px !important;
}
.guide .how h3 + h4 {
	margin-top: 1.0em;
}
.how a {
	text-decoration: underline;
}
a.nw {
	background-image: url("../img/blank-b.svg");
	background-repeat: no-repeat;
	background-position: right center;
	background-size: 1em auto;
	padding-right: 1.2em;
}
.guideh {
	text-align: center;
	width: 100%;
	max-width: 615px;
	margin: 30px auto 0;
}
.guideh.fst {
	margin-top: 0;
}
.guide_close {
	width: 60px;
	position: fixed;
	right: 30px;
	bottom: 30px;
}
.guide_close img {
	width: 100%;
}
.guide_close_sp {
	/*display: none;*/
	text-align: center;
	font-size: 20px;
	line-height: 3;
	width: 40%;
	margin: 5em auto 0 !important;
}
.guide_close_sp a {
	text-align: center;
	display: block;
	font-weight: bold;
	color: #fff;
	background-color: #333;
	border-radius: 1em;
	text-decoration: none;
}
@media (max-width: 743px){
	.guide h3 {
		font-size: 4vw;
	}
	.guide .how {
		padding: 0 0;
	}
	.guide .how p {
		font-size: 3.2vw;
	}
	.guide .how h4 {
		font-size: 3.4vw !important;
	}
	.guide_close {
		width: 15%;
	}
	.guide_close_sp {
		font-size: 4vw !important;
		display: block;
	}
	.guideh {
		text-align: center;
		width: 80%;
		max-width: none;
		margin: 30px auto 0;
	}
	.guideh img {
		width: 100%;
	}
}
/**/
.list-disk li{
    list-style: disc;
}
