@charset "utf-8";

.aspect-683-239{ aspect-ratio: 683 / 239;}

.roulette .bg-yellow { background-color: #fffbd2;}
.roulette .border-pink{border: 0.1rem solid #f00090; text-align: left;}

.contents-title-mini em{
  margin: 0;
  display: block;
  line-height: 1.4;
  font-size: var(--font-size-l);
}
.contents-title-mini{ margin: 0 0 0.8em;}

@media screen and (max-width: 640px) {

.contents-title-bg-mini img{ opacity: 0.2;}

}/* End max 640 */


.roulette-contents-section{
  position: relative;
  margin: auto;
  padding: 0 0 3em;
  width: 100%;
  text-align: center;
  z-index: 1;  
}

.roulette-contents-section .inner{
  margin: auto;
  width: 96%;
}

.roulette-contents-section .inner .top-info{
	position: relative;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 3em;
	padding: 1em 2em;
	width: 45%;
	border-radius: 0.4em;
	border: 0.1rem solid  #ccc;
	background-color: #e6f8ff;
}

.roulette-contents-section .inner .info-banner{
	position: relative;
	margin-left: auto;
	margin-right: auto;
	padding: 2em;
	width: 95%;
	border-radius: 0.4em;
	border: 0.1rem solid #00aeef;
}


.roulette-contents-section .inner .icon-img {
  display: flex;
  justify-content: center;
  align-items: start;
}

.roulette-contents-section .inner .icon-img li{
  width: 15%;
  margin: 0 1em;
}

.roulette-contents-section .inner .icon-img li img{
  max-width: 5rem;
}

.roulette-contents-section .inner .icon-txt { font-size: var(--font-size-s);}
.roulette-contents-section .inner .icon-txt span { white-space: nowrap;}

@media screen and (max-width: 980px) {

  .roulette-contents-section .inner .icon-img {
    justify-content: start;
  }

  .roulette-contents-section .inner .icon-img li{
    width: 30%;
  }
  
  }/* End max 640 */


.roulette-contents-section .main-title{
  position: relative;
  margin: 0;
  padding: 2em 1em 1em;
  display: block;
  color: #008fc2;
  font-size: var(--font-size-xxl);
  line-height: 1.4;
  text-align: center;
}

.roulette-contents-section .section-title{ text-align: left;}


.roulette-contents-section .main-title:after{
  position: relative;
  margin: 0.5em auto 0;
  padding: 0;
  width: 1em;
  height: 0.4rem;
  display: block;
  background-color: #00aeef;
  content: "";
}

.roulette-contents-section .main-title br{ display: none;}


.roulette-contents-section .sub-title{
  position: relative;
  margin: 0;
  padding: 2em 1em 1em;
  display: block;
  color: #008fc2;
  font-size: var(--font-size-xl);
  line-height: 1.4;
  text-align: center;
}

.roulette-contents-section .section-title-thanks{
  margin: 0 auto 0 auto;
  padding: 0.8em 0 0.5em 0;
  font-size: var(--font-size-xxxl);
  font-weight: bold;
  color:#3DB9E8;
}

.roulette-contents-section .lead-txt{
  position: relative;
  margin:0 1em 1em;
  padding: 1em 1.5em;  
  display: inline-block;
  font-size: var(--font-size-l);
  line-height: 1.5;
  text-align: center;
}

.roulette-contents-section .lead-txt:before,
.roulette-contents-section .lead-txt:after{
  position: absolute;
  left: 0.5em;
  bottom: 0;
  margin: auto;
  display: block;
  width: 0.1rem;
  height: 80%;
  background-color: #333;
  transform: rotate(-30deg);
  content: "";
}

.roulette-contents-section .lead-txt:after{
  right: 0.5em;
  left: inherit;
  bottom: 0;
  transform: rotate(30deg);
}


.roulette-contents-section .lead-txt br{ display: none;}

.roulette-contents-section .inner .lead-txt{ text-align: left;}

.roulette-contents-section .inner .lead-txt:before,
.roulette-contents-section .inner .lead-txt:after{ display: none;}


.roulette-contents-section .inner ul.how-to-point{
   list-style: disc;
   text-align: left;
   font-size: var(--font-size-m);
   line-height: 1.6;
   padding-left: 2.5rem;
}

.roulette-contents-section .inner .how-to-point li{
   margin-bottom: 0.5rem;
}

.roulette-contents-section .inner .how-to-txt{
   text-align: left;
   font-size: var(--font-size-m);
   white-space: normal;
}





.button-container {
  position: relative;
  margin: 2em auto;
  display: flex;
  justify-content: center;
  width: 100%;
}

.button-container span{
  margin: 0 auto -0.3rem;
  display: block;
  font-size: var(--font-size-s);
  letter-spacing: inherit;
  text-align: center;
}

.button-container button{
  position: relative;
  margin: 0 1rem;
  padding: 0;
  width: 10rem;
  height: 10rem;
  display: inline-block;
  border-radius: 8rem;
  border: none;
  background: rgb(0,174,239);
  background: linear-gradient(180deg, rgba(0,174,239,1) 0%, rgba(0,128,203,1) 100%);
  color: #fff;
  font-size: var(--font-size-l);
  font-weight: bold;
  letter-spacing: 0.05em;
  text-align: center;
  text-shadow: 0.1rem 0.1rem 0.1rem rgba(0,0,0,.2);
  cursor: pointer;
}

.button-container button.stop{ background: rgb(255,153,0);
  background: linear-gradient(180deg, rgba(255,153,0,1) 0%, rgba(255,102,0,1) 100%); cursor: pointer; z-index: 999}

.button-container button:disabled{ opacity: 0.7; background: rgb(204,204,204);
	background: linear-gradient(180deg, rgba(204,204,204,1) 0%, rgba(153,153,153,1) 100%); cursor: default;}

.button-container button.start{ cursor: pointer; z-index: 999;}


body.effect .button-container button.stop,
body.effect .button-container button.start{ z-index: 100;}



.button-container button.start:after{
  position: absolute;
  top: -1em;
  left: -7rem;
  margin: auto;
  width: 12rem;
  height: 8rem;
  display: block;
  background: url(/funding/common/img/angel.svg) center center no-repeat;
  background-size: contain;
  transform: scale(-1, 1) rotate(20deg);
  animation: angel 2s ease-in-out infinite;
  content: "";
}

.button-container button.stop:after{
  position: absolute;
  top: -1em;
  left: inherit;
  right: -7rem;
  margin: auto;
  width: 12rem;
  height: 8rem;
  display: block;
  background: url(/funding/common/img/angel.svg) center center no-repeat;
  background-size: contain;
  transform: rotate(20deg);
  animation: angel 2s ease-in-out infinite;
  content: "";
}

@keyframes angel {
  0% { background-position: top center;}
  50% { background-position: bottom center;}
  100% { background-position: top center;}
}

.button-container button:disabled:after{ display: none;}


body.effect .stop-action-effect{
  position: fixed;
  left: 0;
  margin: auto;
  padding: 0;
  width: 100vw;
  height: 20rem;
  display: block;
  background: rgb(0,174,239);
  background: linear-gradient(90deg, rgba(0,174,239,1) 30%, rgba(0,239,190,1) 100%); 
  color: #fff;
  font-size: var(--font-size-m);
  text-align: center;
  animation: stop-action 1.8s forwards;
  z-index: 100;
}

@keyframes stop-action {
  0% {  bottom: -24rem; opacity: 0;} 
  25% { top: 0; bottom: 0; opacity: 1;}
  75% { top: 0; bottom: 0; opacity: 1;}
  100% { top: -30rem; opacity: 0;}
}

body .stop-action-effect{ display: none;}
body.effect .stop-action-effect{ pointer-events: none; z-index: 600;}

body.effect .stop-action-effect .duck{
  position: relative;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  padding: 0;
  width: 20rem;
  height: 20rem;
  display: block;
  z-index: 50;
}

body.effect .stop-action-effect .duck:before{
  position: absolute;
  top: 18%;
  right: 16%;
  margin: auto;
  padding: 0;
  width: 5rem;
  height: 5rem;
  display: block;
  background: url(/sample/img/icon_star.svg) center center no-repeat;
  background-size: contain;
  content: "";
  z-index: 100;
  animation: star 1.8s forwards;
}

@keyframes star {
  0% {  opacity: 0;} 
  25% { opacity: 0;}
  35% { opacity: 1; transform: rotate( 0deg) scale(1, 1);}
  45% { opacity: 1; transform: rotate( 180deg) scale(2, 2);}
  65% { opacity: 1; transform: rotate( 0deg) scale(1,1);}
  75% { opacity: 0; transform: rotate( 0deg) scale(1,1);}
  100% { opacity: 0;}
}

body.effect .stop-action-bg{
  position: fixed;
  top: 0;
  left: 0;
  margin: 0;
  padding: 0;
  width: 100vw;
  height: 100vh;
  display: block;
  background: rgb(0,0,0, 0.7);
  animation: stop-action-bg 1.8s forwards;
  z-index: 500;
  pointer-events: none;
  
}

@keyframes stop-action-bg {
  0% {  opacity: 0;} 
  25% { opacity: 1;}
  75% { opacity: 1;}
  100% { opacity: 0;}
}

body .stop-action-bg{ display: none; pointer-events: none;}



/* MODALWINDOW */

.modal{
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  display: none;
  z-index: 400;
}

.modal-open{ cursor: pointer;}

.modal-bg{
  position: absolute;
  width: 100%;
  height: 100vh;
  background: rgba(0,0,0,0.5);
  cursor: pointer;
  z-index: 500;
}

.modal-body{
  position: absolute;
  top: 50%;
  left: 50%;
  margin: auto;
  width: 85%;
  max-width: 64rem;
  max-height: 75vh;
  min-height: 64rem;
  padding: 1em 0;
  display: block;
  overscroll-behavior-y: contain;
  overflow-y: scroll;
  -webkit-overflow-scrolling: touch; 
  border-radius: 1em;
  background: #fff;
  font-size: var(--font-size-m);
  line-height: 1.6;
  text-align: left;
  transform: translate(-50%,-50%);
  box-shadow: 0 0 0.4rem rgba(0,0,0,0.5);
  z-index: 800;
}

.modal-body .modal-inner{
  position: relative;
  width: 100%;
  padding: 1em 2em;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  flex-wrap: wrap;
  background: #fff;
  font-size: var(--font-size-m);
  line-height: 1.6;  
  z-index: 1000;
}

.modal-body {
  overflow-y: scroll;
  -ms-overflow-style: none;    /* IE, Edge */
  scrollbar-width: none;       /* Firefox */
}

.modal-body::-webkit-scrollbar {  /* Chrome, Safari */
  display:none;
}

.modal-body .modal-inner h2{
  margin: 0;
  padding: 0 0 0.4em;
  width: 100%;
  color: #00aeef;
  font-size: var(--font-size-xxl);
  line-height: 1.6;
  text-align: center;
}

.modal-body .modal-inner .image{
  margin: 0;
  padding: 0.5em;
  width: 40%;
  display: block;
  background: #fff;
  box-shadow: 0 0 0.3rem rgba(0,0,0,0.5);
  font-size: var(--font-size-m);
  line-height: 1.6;
}

.modal-body .modal-inner .image p{
  margin: 0;
  padding: 1em 0 0;
  font-size: var(--font-size-m);
  line-height: 1.6;
  text-align: center;
}

.modal-body .modal-inner .txt-block{
  margin: 0;
  padding: 0 0 1em 1em;
  width: 58%;
  display: block;
  font-size: var(--font-size-m);
  line-height: 1.6;
}

.modal-body .modal-inner .txt-block p{
  padding: 0 0 1em;
}

.modal-body .modal-inner form{
  margin: 0;
  padding: 1em 0 0;
  width: 100%;
  display: block;
}

.dl-caution{
  margin: 1em 0 1em;
  padding: 0;
  display: block;
  color: #c00;
  font-size: var(--font-size-m);
  font-weight: bold;
  text-align: center;
}

.modal-inner .dl-caution strong{ font-size: var(--font-size-l);}

.dl-caution-bk{
  margin: 1em 0 0.5em;
  padding: 0;
  display: block;
  color: #333;
  font-size: var(--font-size-l);
  font-weight: bold;
  text-align: center;
}

.modal-body button{
  position: relative;
  margin: 0 0.5em 1em;
  padding: 1em 0.6em 1em 1.3em;
  width: 50%;
  border-radius: 4em;
  line-height: 1.6;
  cursor: pointer;
}


.modal-body button br{ display: none;}


.modal-body .submit-button-block{
	margin: 0;
	width: 100%;
	display: flex;
	justify-content: center;
}

.modal-body .submit-button-block button{
	position: relative;
	margin: 0 1em;
	padding: 1em;
	width: 50%;
	max-width: 26em;
	display: block;
	border-radius: 4em;
	border: none;
	background: rgb(0,174,239);
	background: linear-gradient(180deg, rgba(0,174,239,1) 0%, rgba(0,128,203,1) 100%);
	color: #fff;
	font-size: var(--font-size-m);
	line-height: 1.2;
	text-align: center;
	text-shadow: 1px 1px 1px rgba(0,0,0,.2);
	cursor: pointer;
}


.modal-body .submit-button-block button:before{
	position: absolute;
	top: 0;
	left: 1rem;
	bottom: 0;
	margin: auto;
	padding: 0;
	width: 1.4rem;
	height: 1.4rem;
	display: block;
	background: url(/common/img/icon_arrow_w.svg) center center no-repeat;
	background-size: contain;
	content: "";
}

.modal-body button.dl-button{
  background: rgb(255,153,0);
  background: linear-gradient(180deg, rgba(255,153,0,1) 0%, rgba(255,102,0,1) 100%); 
  cursor: pointer;
  z-index: 1000;
}

.modal-body .submit-button-block button span{font-size: var(--font-size-s);}





.modal-body .form-table{
  margin: auto;
  width: 100%;
  border-collapse: collapse;
  border: 0.1rem solid #ccc;
  background-color: #fff;
  font-size: var(--font-size-m);
  line-height: 1.5;
}

.modal-body .form-table th{
  padding: 1em;
  width: 100%;
  display: block;
  background-color: #eee;
  border-bottom: 0.1rem dotted #ccc;
  font-weight: normal;
  text-align: left;
  vertical-align: middle;
}

.modal-body .form-table td{
  padding: 1em;
  width: 100%;
  display: block;
  background-color: #fff;
  font-size: var(--font-size-m);
  text-align: left;
  vertical-align: middle;
}


.modal-body .form-table .input-block{ overflow: hidden;}

.modal-body .form-table .input-block input{ margin: 0; width: 100%; display: block;}

.modal-body .form-table input{
  position: relative;
  padding: 0.5em 0.4em;
  width: 100%;
  display: block;
  outline: none;
  border: 0.1rem solid #ccc;
  border-radius: 0.2em;
  box-sizing: border-box;
  font-size: var(--font-size-m);
}



@media screen and (min-width: 767px) {
    
.modal-body .form-table th{
  width: 28%;
  display: table-cell;
}

.modal-body .form-table td{
  width: 72%;
  display: table-cell;
  border-bottom: 0.1rem dotted #ccc;
}

}/* End min 767 */





@media screen and (max-width: 767px) {
    
.roulette-contents-section .inner .top-info{
	position: relative;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 1em;
	padding: 0.5em 1em;
	width: 98%;
	border-radius: 0.4em;
	border: 0.1rem solid  #ccc;
	background-color: #e6f8ff;
}
    
.roulette-contents-section .inner .info-banner{
	padding: 1.5em;
	width: 95%;
}
    
.roulette-contents-section .inner .top-info p{
	font-size: var(--font-size-m);
	line-height: 1.4;
}
    
.roulette-contents-section .section-title-thanks{
  margin: 0 auto 0 auto;
  padding: 0.5em 0 0.5em 0;
  font-size: var(--font-size-xxl);
  font-weight: bold;
  color:#3DB9E8;
}

.roulette-contents-section .main-title{
  padding: 2em 0.5em 1em;
  font-size: var(--font-size-xl);
}

.roulette-contents-section .sub-title{ font-size: var(--font-size-xl);}

.roulette-contents-section .lead-txt{padding: 1em 2em;  font-size: var(--font-size-m);}

.roulette-contents-section .lead-txt br{ display: block;}


}/* End max 767 */


@media screen and (max-width: 640px) {

.modal-body button br{ display: block;}

}/* End max 640 */



@media screen and (max-width: 580px) {

.modal-body{
  width: 86%;
  max-height: 70vh;
  min-height: inherit;
  padding: 1em 0;
  font-size: var(--font-size-s);
  line-height: 1.6;
}

.modal-body .modal-inner{
  position: relative;
  width: 100%;
  padding: 1em 1em;
  justify-content: center;
  font-size: var(--font-size-s);
}

.modal-body .modal-inner h2{
  margin: 0;
  padding: 0 0 0.4em;
  width: 100%;
  color: #00aeef;
  font-size: var(--font-size-xxl);
  line-height: 1.6;
  text-align: center;
}

.modal-body .modal-inner .image{
  margin: 0;
  padding: 0 0 1.5em;
  width: 86%;
  max-width: 32rem;
}

.modal-body .modal-inner .image p{
  margin: 0;
  padding: 1em 0 0;
  font-size: var(--font-size-s);
  line-height: 1.6;
  text-align: center;
}

.modal-body .modal-inner .txt-block{
  margin: 0;
  padding: 1em 0;
  width: 100%;
  display: block;
  font-size: var(--font-size-m);
  line-height: 1.6;
}

.modal-body .modal-inner .txt-block p{
  padding: 0 0 1em;
}

.modal-body .modal-inner form{
  margin: 0;
  padding: 0;
  width: 100%;
  display: block;
}

.modal-body .submit-button-block{ flex-wrap: wrap;}

.modal-body .submit-button-block button{
	margin: 0.5em;
	width: 90%;
    max-width: 22rem;
}

.modal-body button br{ display: none;}

}/* End max 580 */



@media screen and (max-width: 480px) {

.roulette-contents-section .main-title{
  position: relative;
  margin: 0;
  padding: 1.5em 0.5em 0.5em;
  font-size: var(--font-size-xxl);
}

.roulette-contents-section .sub-title{ font-size: var(--font-size-xl);}

.roulette-contents-section .main-title br{ display: block;}
.roulette-contents-section .lead-txt{ padding: 0.5em 1em;  font-size: var(--font-size-m);}


.roulette-contents-section .lead-txt:before,
.roulette-contents-section .lead-txt:after{
  position: absolute;
  left: 0em;
  bottom: 0;
  margin: auto;
  display: block;
  width: 0.1rem;
  height: 80%;
  background-color: #333;
  transform: rotate(-25deg);
  content: "";
}

.roulette-contents-section .lead-txt:after{
  right: 0em;
  left: inherit;
  bottom: 0;
  transform: rotate(25deg);
}


.modal-body button{
  margin: 0 auto 1em;
  width: 90%;
}

.modal-body button:last-child{ margin: 0 auto 0;}

.modal-body button br{ display: none;}


}/* End max 480 */


#canvas {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;  
  margin: auto;
  display: block;
  width: 100%;
  height: 100%;
  z-index: 900;
  pointer-events: none;
}


/* FOOT PRINT */

.foot-print{ padding: 0; z-index: 0;}


/* IE */
@media all and (-ms-high-contrast: none) {

body .stop-action-effect{ display: none !important;}
body .stop-action-bg{ display: none !important;}
body.effect .stop-action-effect{ z-index: -600;}

.button-container { z-index: 1000;}

.button-container button.start:after,
.button-container button.stop:after{ display: none !important;}

}/* End IE */






.image-download .pc{ display: inline-block;}
.image-download .sp{ display: none;}

@media screen and (max-width: 480px) {

.image-download .pc{ display: none;}
.image-download .sp{ display: block;}

}/* End max 480 */


.roulette .list-ok,
.roulette .list-ng{ display: flex;}

.roulette .list-ok .image-box,
.roulette .list-ng .image-box{
  width: 2rem;
  min-width: 2rem;
  margin: 0 1rem 0 0;
}

.roulette .list-ok em,
.roulette .list-ng em{
  width: calc(100% - 4rem);
}

