@charset "utf-8";
.site{
	  background: #cbd7db;
}
img{
	display: block;
}
#kv img{
	width: 100%;
}
.sponly{
	width: 100%;
	max-width: 800px;
	margin: auto;
}
#gaiyou{
	  background: #f0f0f0;
	padding-bottom: 0;
	position: relative;
	
}
#gaiyou{
	margin-top: -5%;
}
#gaiyou img{
	width:100%;
}
#gaiyou .abot_btn1{
	width: 88%;
	margin: auto;
	left: 0;
	right: 0;
	bottom: 3%;
	position: absolute;
	display: block;
}

#kikan{
	padding: 0;
	padding-bottom: 0;
}
#kikan img{
	max-width: 620px;
	width: 76vw;
	margin: auto;
	display: block;
	margin-bottom:min(60px,4vw);
}
.tabcontent{
	font-size: 18px;
}
.tabcontent p{
	margin-bottom: 1em;
}
.tabcontent p:last-child{
	margin-bottom: 0;
}
.tabcontent li{
	margin-bottom: 0.5em;
}
.tabcontent li:last-child{
	margin-bottom: 0;
}
h3{
	display: block;
	margin:auto;
	margin-bottom: min(60px,12vw);
	margin-top: min(60px,12vw);
}
h3 img{
	height:110px;
    text-align: center;
    margin: auto;
    display: block;
}
@media (max-width: 640px) {
	h3 img{height:80px;}
}
/*h3{
	margin-top: 2em;
	margin-bottom: 1em;
	font-size: 1.8em;
	text-align: center;
}*/
h4{
	margin-top: 2em;
	margin-bottom: 1em;
	font-size: 1.6em;
	border-bottom: solid 1px;
	border-top: solid 1px;
	padding-top: 0.2em;
	padding-bottom: 0.2em;
	text-align: center;
}
h5{
	margin-top: 1em;
	margin-bottom: 0.5em;
	font-size: 1.4em;
}
h3:first-child,
h4:first-child,
h5:first-child{
	margin-top: 0;
}
.dot{
	position: relative;
	padding-left: 1em;
}
.dot span:first-child{
	content: "";
	left: 0;
	top: 0.75em;
	position: absolute;
	font-size: 0.5em;
}


.tabcontent h6{
		font-size: 1.2em;
	font-weight: 700;
	
	margin-bottom: 0.5em;
	margin-top: 1em;
}
.dot span.clr{
		color: #b91f22;
}
ul.caution{
	margin-bottom: 1em;
}
.readtext{
	font-size: 1.2em;
	font-weight: 700;
	text-align: center;
	margin-bottom: min(30px,6vw);
}
.readtext strong{
	color: #b91f22;
}
p.str b{
	color: #FFF200;
}
.tab{
	display: flex;
	max-width: 800px;
	align-items: stretch;
	justify-content: space-around;
	margin: auto;
	width: 97vw;
	width: 100%;
	padding-top:min(120px,8vw);
	padding-top:min(60px,4vw);
	padding-top:100px;
	background-color: #f0f0f0;
}
.tab p{
	color: #fff;
	color: #343434;	
	max-width:30vw;
	width: 30%;
	font-size: min( calc(30vw /9),24px);
	font-weight: 700;
	text-align: center;
	padding: min(2vw,10px) 0;
	cursor: pointer;
	margin-bottom: 0;
	border-radius: 20px 20px 0 0; 
}
.tab1,
.tab2,
.tab3{
	background-color: #fff;

}
.content1,
.content2,
.content3{
	background-color: #dae6eb;
}
.tab1.active,
.tab2.active,
.tab3.active{
	background-color: #dae6eb;
}
.content2,
.content3{
	display: none;
}
.tabcontent{
	padding: min(60px,12vw) min(20px,4vw);
}
.tabcontent > .inner{
	max-width: 720px;
	margin: auto;
	color: #fff;
	color: #343434;
}
.content_block{
	padding-top: min(60px,12vw);
}
table.step{
	border: none;
	margin: 0;
}
table.step td,
table.step th{
	border: none;
	padding: 10px;
	color:#ffffff;
	color: #343434;
}
table.step td{
	padding-bottom: 0.5em;
}
table.step th{
		background: #ffffff;
						padding: 10px;
						text-align: center;
						vertical-align: middle;
						border: #dae6eb 2px solid;
	border-radius:5px;
}
	table.step th {width: 7em;}

p.kome{
					font-size:0.8em;}
					table.step th{
					
					}

.liverbtn {
	border: 3px solid #ffffff;
	background: #c95430;
	line-height: 1;
	color: #ffffff;
	font-size:1.8em;
	padding-top: 0.5em;
	padding-bottom: 0.5em;
	max-width: 450px;
	margin: auto;
	margin-top: 30px;
	margin-bottom: 30px;
	text-align: center;
	font-weight: 800;
    display: block;
}
.liverbtn:hover {
	color: #fff;
    background-color: #3e6a83;
    background-color: #29485a;
}
.anime_scale{
	animation: anime_scale 1.4s infinite;
}
@keyframes anime_scale {
  0% {
    transform: scale(0.90);
  }
  50% {
    transform: scale(1.0);
  }
  100% {
    transform: scale(0.90);
  }
}

@media screen and (min-width: 641px){
	table.step th {width: 7em;}
}
.campaign{
}
.campaign_item{
	background-color: #dcd1c2;
	background-color: #fff;
	border-radius: min(20px,4vw);
	position: relative;
}
.campaign_1{
	padding: min(20px,4vw) min(30px,6vw);
}
.campaign_2{
	padding: min(20px,4vw) min(30px,6vw);
}
.campaign_1 img,
.campaign_2 img{
	width: 100%;
	max-width: 540px;
	margin: auto;
	display: block;
}

.tokuten{
    width: 20%;
    left: 1%;
    position: absolute;
    top: -21%;
}
.tokutennaiyou{
    width: 77%;
    padding: 22px;
    MARGIN-left: 20%;
}
.campaign_arrow{
	margin:min(30px,6vw) auto;
	width: min(60px,10vw);
	display: block;
}
.note_list{
	
}
.note_list li{
	padding-left: 1.2em;
	position: relative;
}
.note_list li span:first-child{
	position: absolute;
	top: 0;
	left: 0;
}
.liver_list{
	display: flex;
	gap: min(100px,20vw);
	column-gap: 0;
	flex-wrap: wrap;
	justify-content: space-between;
	margin: auto;
	max-width: 800px;
	margin-bottom: min(60px,12vw);
	gap:40px;
	column-gap:15px;
}
.liver_list li{
	width: calc( 33.33% - 15px * 2 / 3);
	margin-bottom: 0;
	padding-bottom: 6.5em;
    padding-bottom: min(6.5em, 17vw);
	position: relative;
}
.tabcontent p.liver_name{
	margin-top: 0.5em;
	margin-bottom: 0.5em;
	font-size: 1.1em;
}
.liver_list .btn1{
	border-radius: 50px;
	
	background-color: #b91f22;
	color: #fff;
	/*	border: solid 2px #fff; */
	display: block;
	font-weight: 700;
	font-size: 1em;
    font-size: min(0.9em, 2.3vw);
	font-weight: 500;
    padding: 0.5em 0.2em;
	line-height: 1;
	text-align: center;
	width: 90%;
	width: 100%;
	text-align: center;
	margin-bottom: 1em;
	position: absolute;
	left: 0;
	right: 0;
    bottom: 4.5em;
    bottom: 4.9em;
	margin: auto;
}
.liver_list .btn1:hover{
	opacity: 0.5;
}
.liver_list .btn2,
.liver_list .btn3{
	font-weight: 700;
	border-radius: 50px;
	
	background-color: #037a58;
	color: #fff;
	display: block;
	font-size: 0.9em;
    font-size: min(0.9em, 2.3vw);
	font-weight: 500;
	padding: 0.5em;
	line-height: 1;
	text-align: center;
	width: 90%;
	width: 100%;
	margin: auto;
	text-align: center;
	margin-bottom: 0;
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto;
}

.liver_list .btn2:hover,
.liver_list .btn3:hover{
	opacity: 0.5;
}
.liver_list .btn2{
	bottom: 2.5em;
}

.shukeichu{
    font-size: 1.2em;
    font-weight: 700;
    text-align: center;
    color: #b91f22;
}
.ranking_fo .ranking_list li {
	border: solid 1px #036eb8;
	background-color: #036eb8;
}
.ranking_bc .ranking_list li {
	border: solid 1px #e4007f;
	background-color: #e4007f;
}
.ranking_num {
	font-weight: 700;
	color: #fff;
	font-size: 30px;
	justify-content: center;
	align-items: center;
	display: flex;
}
.ranking_num span {
    width: 2.2em;
    padding-right: 0.2em;
    text-align: right;
}
.ranking_num .small {
	width: auto;
	font-size: 14px;
	font-weight: 400;
	padding-top: 10px;
}
.ranking_count {
	color: #fff;
	font-size: 16px;
	font-weight: 700;
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 0 15px;
}
.ranking_count .small {
	font-size: 12px;
	font-weight: 400;
}
.ranking_count span, .ranking_num span {
	line-height: 1 !important;
}
.ranking_list {
	padding: 0 50px;
}
.ranking_list li {
	display: flex;
	margin-bottom: 10px;
	border-radius: 5px;
	align-items: stretch;
	min-height: 50px;
	background-color: #b91f22;
}
.ranking_list li:last-child {
	margin-bottom: 0;
}
.ranking_list p.ranking_num {
	margin: 0;
	width: 90px;
	flex-shrink: 0;
}
.ranking_list p.ranking_count {
	margin: 0;
	width: 140px;
	flex-shrink: 0;
}
.ranking_list a {
	width: 100%;
	flex-shrink: 1;
	background-color: #fff;
	padding: 10px 15px;
	text-align: left;
	display: flex;
	align-items: center;
	font-size: 20px;
	flex-wrap: wrap;
}
.prize_list li{
	background-color: #f7f3e5;
	padding: 0;
	margin-bottom: min(30px,6vw);
	color: #1a1a1a;
	border-radius: 15px;
	overflow: hidden;
}
.prize_list li h5{
	
	color: #009145;
    background: #ead5b9;
    padding: 10px 20px;
    display: block;
	margin-bottom: 0;
	
}
.prize_list_inner{
	padding: 20px;
}
.prize_list li h6{
	
	color: #009145;
	text-align: left;
	padding-bottom: 0;
	margin-bottom: 0;
	margin-top: 10px;
 }
.prize_list li h6:first-child{
	margin-top: 0;
}
.prize_list .kome{
	padding-left: 1em;
	margin-top: -10px;
	position: relative;
}
.prize_list .kome span:first-child{
	position: absolute;
	left: 0;
	top: 0;
}
.prize_list li:last-child{
	margin-bottom: 0;
}
.prize_list li p{
	margin-bottom: 1em;
}
.prize_list li p:last-child{
	margin-bottom: 0;
}
.form_btn{
}
.form_btn{
	border-radius: 50px;
	border: solid 1px #fff;
	background-color: #009145;
	color: #fff;
	display: block;
	font-size: 1.3em;
	font-weight: 700;
	padding: 0.5em;
	line-height: 1;
	text-align: center;
	width: 100%;
	max-width: 600px;
	margin: auto;
	text-align: center;
	margin-bottom: 1em;
}
.form_btn:hover{
    background-color: #009748;
	
	color: #fff;
}
.prize_frame{
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	padding: 1em;
	background-color: #fff;
	border-radius: 15px;
	overflow: hidden;
}
.prize_frame + .prize_frame{
	margin-top: 20px;
}
.prize_list li .prize_frame p{
	margin-bottom: 10px;
    color: #b91f22;
	font-weight: 700;
}
.prize_frame img{
	margin: auto;
	display: block;
}
.prize_frame .frame_b{
	max-width: 90%;
	display: block;
	margin-bottom: 0em;
}
.prize_frame .frame_a{
	max-width: 90%;
	display: block;
	margin-bottom: 0em;
}
.roomdeco{
	max-width: 90%;
	display: block;
}
@media (max-width: 700px) {
	.ranking_list {
		padding: 0;
	}
	.ranking_page .bx-wrapper .bx-controls-direction a.bx-prev {
		top: auto;
		bottom: -53px;
		left: 0px;
		background-position: left 11px center;
	}
	.ranking_page .bx-wrapper .bx-controls-direction a.bx-next {
		top: auto;
		bottom: -53px;
		right: 0px;
		background-position: right 11px center;
	}
	.ranking_page .bx-wrapper .bx-pager, .bx-wrapper .bx-controls-auto {
		bottom: -40px;
	}
	.ranking_page .bx-wrapper .bx-controls-direction a {
		padding-top: 40px;
		width: 40px;
		margin-top: -25px;
		background-size: 11px;
	}
}
@media (max-width: 640px) {
	.site-main p.rankkikan{
		font-size: 12px;
	}
	.ranking_block {
		/*padding: 40px 15px;*/
	}
	.ranking_list p.ranking_num {
		width: 60px;
	}
	.ranking_num {
		font-size: 20px;
	}
	.ranking_num span {
		width: auto;
		padding: 0 2px;
	}
	.ranking_num .small {
		font-size: 12px;
		padding-top: 6px;
	}
	.ranking_list a {
		font-size: 16px;
		padding: 5px 10px;
	}
	.ranking_list p.ranking_count {
		font-size: 12px;
		margin: 0;
		padding: 0;
		width: 70px;
	}
}
.redarrow{
	width: 20%;
	max-width: 40px;
	display: block;
	margin: 20px auto;
}
.howbox{
	background: #ffffff;
	border-radius: 20px;
	padding: 40px;
	box-sizing: border-box;
}

.howbox h3{
	color: #b91f22;
	font-weight: 800;
	border: none;
	font-size:30px;
	text-align: center;
	margin-bottom: 20px;
}
.howbox h5{
	font-size:16px;
	color: #3D3D3D;
}
.redbotn{
	background: #b91f22;
	color: #ffffff;
	font-weight: 800;
	font-size:22px;
	width: 90%;
	max-width: 440px;
	display: block;
	margin: 15px auto;
	padding: 10px 15px;
	text-align: center;
	border-radius: 6px;
}
.redbotn:active,
.redbotn:visited,
.redbotn:linked,
.redbotn:focus{
	color: #fff;
}
.redbotn:hover{
	color: #ffffff;
	background: #EB6063;
	text-align: center;
	font-weight: 800;
}
.redbotn_small{
	padding:5px 10px ;
	max-width: 280px;
	width: 100%;
	margin-top: 20px;
	font-size:18px;
}
.redbotn_left{
	margin-left: 0;
}
.pricetable th{
	background: #DFDFDF;
	text-align: center;
	font-size:14px;
}
.pricetable th.one{
	width: 11.5em;
}
.pricetable td strong{
	display: block;
	background: #037a58;
	font-size:12px;
	padding: 3px 3px;
	text-align: center;
	border-radius: 4px;
	color: #ffffff;
}
.pricetable td{
	text-align: center;
	font-weight: 800;
	vertical-align: middle;
	line-height: 1.3;
}
.ppscl{
	width: 100%;
	overflow-x: scroll;
}
.pricetable td.pr{
	font-size:0.9em;
}
.pricetable td.pr em{
	font-size:1.4em;
	font-style: normal;
	color: #b91f22;
}
.pricetable td p{
	font-size:14px;
	border: 1px solid #b91f22;
	padding: 2px;
	box-sizing: border-box;
}
@media (max-width: 600px) {
	.howbox{padding: 15px;}
	.howbox h3{font-size:20px;}
	.pricetable td{font-size:13px;}
	.redbotn{font-size: 4vw;}
}



@media (max-width: 500px) {
	.tabcontent{
		font-size: 14px;
	}
}

.tabcontent p.koushinbi{
	text-align: center;
	font-weight:700;
}
.prize_table{
	background: #ffffff;
}
.prize_table th{font-size:18px;
font-weight:700;
text-align: center;
background: #b91f22;
color: #ffffff;}

.prize_table td.ranknum{
font-size:22px;
	color: #b91f22;
font-weight:700;
	text-align: center;
	vertical-align: middle;
	}

.about_ranking .kome{
	padding-left: 1em;
	position: relative;
}
.about_ranking .kome span:first-child{
	position: absolute;
	left: 0;
	top: 0;
}

.modal_inner{
	display: none;
	max-width: 100%;
}
.modal_inner{
    flex-direction: column;
}
.modal_inner_inner{
	display: flex;
	max-width: 100%;
	padding: 20px;
	box-sizing: border-box;
	overflow:auto;
    flex-direction: column;
    max-height: calc(100vh - 130px);
}

.modalbtn{
	cursor: pointer;
}
.modalbox {
  position: fixed;
  width: 100%;
  z-index: 100001;
  display: none;
  left: 0;
  bottom: 0;
  margin: auto;
  top: 0;
  bottom: 0;
  height: 100vh;
  box-sizing: border-box;
  padding: 2rem;
    padding-top: 7rem;
  background-color: rgba(0, 0, 0, 0.40);
  justify-content: center;
	align-items: flex-start;
} 
.img_thumb {
  height: 300px;
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0;
}
.img_thumb img {
  max-width: 100%;
  max-height: 100%;
  width: auto;
  height: auto;
  display: block;
  margin: auto;
}
.modal_img_container {
    display: flex;
    justify-content: center;
    max-height: calc(100% - 0px);
    max-width: 100%;
    align-items: center;
    position: relative;
   
    padding: 0px;
    background-color: #fff;
    border-radius: 1rem;
    box-sizing: border-box;
    background-repeat: repeat-x;
    background-size: auto 2rem;
    background-color: #fff;
    justify-content: center;
    flex-direction: column;
    align-items: center;
	
    width: 800px;
}
#modal_img {
  width: auto;
  height: auto;
  max-height: calc(100vh - 190px);
  max-width: 100%;
  object-fit: contain;
}
.modal_close {
  cursor: pointer;
  width: 100%;
  background-position: right center;
  height: 4rem;
  display: block;
  background-size: contain;
  background-repeat: no-repeat;
  background-image: url("images/close.svg");
  margin-top: 0px;
  margin-bottom: 0rem;
  max-width: 1500px;
    max-width: 800px;
  position: absolute;
  top: -5rem;
}
.modal_title{
    border-radius: 1rem 1rem 0 0;
	background-color: #b91f22;
	padding: 15px;
    padding: 15px 3.5em;
	box-sizing: border-box;
	text-align: center;
	color: #fff;
	position: relative;
	width: 100%;
	    font-size: min(1.3em, 4.4vw);
}

.modalbox {
    padding: min(2rem, 6vw);
	padding-top: 3rem;
}
.modal_title .modal_close {
    cursor: pointer;
    width: 1.5em;
    height: 1.5em;
    display: block;
    margin-top: 0px;
    margin-bottom: 0rem;
    max-width: 1500px;
    max-width: 800px;
    position: absolute;
    top: 0;
	bottom: 0;
	right: 15px;
	margin: auto;
}
.modal_slider{
	margin: auto;
    width: 100%;
}
.modal_slider img{

	max-height: calc(85vh - 10rem);
	margin: auto;
}
.bx-wrapper .bx-controls-direction a{    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    height: min(50px, 10vw);
    width: min(50px, 10vw);
    padding: 0;
    top: 56%;
    bottom: auto;
    margin: auto;
	
}

.bx-wrapper .bx-next {
    left: auto;
    right: 0;
    background-image: url(images/arrow_right.svg) ;
}
.bx-wrapper .bx-prev {
	right: auto;
    left: 0;
    background-image: url(images/arrow_left.svg);
}


.coupon_floatbtn{
    display: block;
    position: fixed;
    bottom: 20px;
    /* height: 50px; */
    z-index: 100;
    width: 179px;
    right: 110px;
    right: 20px;
}
.campaign_1 img{
	max-width: none;
}
.dakeno{
	margin: min(60px, 12vw) auto;
	    height: min(120px, 12vw);
}
@media screen and (max-width: 640px) {
   .coupon_floatbtn {
        width: 100px;
        right: 85px;
		right: 20px;
	}
}
.float_download{
	display: none !important;
}