html, body, div, span, applet, object, iframe,h1, h2, h3, h4, h5, h6, p, blockquote, pre,a, abbr, acronym, address, big, cite, code,del, dfn, em, img, ins, kbd, q, s, samp,small, strike, strong, sub, sup, tt, var,b, u, i, center,dl, dt, dd, ol, ul, li,fieldset, form, label, legend,table, caption, tbody, tfoot, thead, tr, th, td,article, aside, canvas, details, embed,figure, figcaption, footer, header, hgroup,menu, nav, output, ruby, section, summary,time, mark, audio, video {margin: 0;padding: 0;border: 0;font-size: 100%;font: inherit;vertical-align: baseline;}
article, aside, details, figcaption, figure,footer, header, hgroup, menu, nav, section {display: block;}body {line-height: 1;}ol, ul {list-style: none;}blockquote, q {quotes: none;}blockquote:before, blockquote:after,q:before, q:after {content: '';content: none;}table {border-collapse: collapse;border-spacing: 0;}

body{
	font-family: "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", "游ゴシック体", "Yu Gothic", YuGothic, sans-serif;
    line-height: 1.4;
    background: #cbf2fb;
  color: #000;
}

a{
  color: #45a2b0;
}

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

input[type="submit"]{

/*iOS用リセット*/

/*
border-radius: 0;*/
-webkit-box-sizing: content-box;
-webkit-appearance: button;
appearance: button;
border: none;
box-sizing: border-box;
cursor: pointer;
font-size: 100%;

}

/*強調　特典など*/
.emphasis{
    color: #45a2b0;
    font-weight: bold;
    font-size: 120%;
    display: inline;
    padding: 0 .4em;
    background: linear-gradient(180deg, rgba(255,255,255,0) 0%, rgba(255,255,125,0) 60%, rgba(255,255,125,1) 60%, rgba(255,255,125,1) 100%);
}
.emphasis-red,
.emphasis-red a{
  color: #f00;
}
/*やや強調*/
.important{
  color: #EF5000;
  font-weight: bold;
}

._txtBold{
  font-weight: bold;
}
._txtorange{
  color: #dc671a;
}

/*----------共通パーツ----------*/
/*ボタン類*/
.btn{
	text-align: center;
	display: block;
	border-radius: 6px;
	color: #fff;
	background: #45a2b0;
	width: 55%;
	margin: 0 auto 2em;
	padding: .8em;
	border: 2px solid #fff;
	/*font-weight: bold;*/
	text-decoration: none;
	position: relative;
	font-size: 90%;
}
.btn-big {
	text-align: center;
	display: block;
	border-radius: 6px;
	color: #fff;
	background: #45a2b0;
	width: 80vw;
  max-width: 80%;
	margin: 20px auto;
	padding: 1em;
	border: 2px solid #fff;
	font-weight: bold;
	text-decoration: none;
	position: relative;
  white-space: normal;
  font-size: 100%;
  letter-spacing: .08em;
}
.btn-big.orange {
	background: #e9581d;
    max-width: 100%;
}
.btn-big::after {
	content: "";
	display: inline-block;
	width: 0;
	height: 0;
	position: absolute;
	border: 7px solid #fff;
	border-width: 8px 6px;
	right: 4px;
	top: 0;
	bottom: 0;
	margin: auto;
	transform: rotate(90deg);
	border-color: transparent transparent #fff;
}
.btn-big._toBottom::after {
	content: "\f0d7";
	font-family: "Font Awesome 5 Free";
	transform: rotate(0deg);
	border: none;
	position: static;
	display: block;
	color: #e0433f;
	font-size: 150%;
	line-height: 1;
}

._blue{background: #45a2b0;}
._orange{background: #EF5000;}
._pink{background: #F66E70; color: #fff;}
._yellow{background: #f4e873;color:#000;}
._gray{background: #4b4c42;}

*.btn-big._orange{
	border: 2px solid #fff;
	box-shadow: 2px 2px 5px rgba(0,0,0,.4);
}

.btn-mini {
    border-radius: 5px;
    border: 0;
    width: 150px;
    height: 35px;
    background: #45a2b0;
    color: #fff;
    font-weight: bold;
    position: relative;
    font-size: 90%;
}
.btn-mini::after {
	content: "";
	display: inline-block;
	width: 0;
	height: 0;
	position: absolute;
	border: 7px solid #fff;
	border-width: 8px 6px;
	right: 4px;
	top: 0;
	bottom: 0;
	margin: auto;
	transform: rotate(90deg);
	border-color: transparent transparent #fff;
}
._small{
  font-size: 85%;
}

/*モーダルウインドウ*/
.modalBg{
	position: fixed;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	right: 0;
	z-index: 999;
	background: rgba(0,0,0,.65);
	display: flex;
	justify-content: center;
	align-items: center;
}
.fst_agree_view.modalBg{
  z-index: 1000;
}
.modalBg.modalHide{
  /*animation: modalBgHide .5s ease 1 forwards;*/
  display: none;
}
@keyframes modalBgHide{
  0%{background:rgba(0,0,0,.5);}
  100%{background:rgba(0,0,0,0);}
}
.modalHide .fst_agree_window{
  animation: modalHide .5s ease 1 forwards;
}
@keyframes modalHide{
  0%{
    transform:translateY(0);
    opacity: 1;
  }
  100%{
    transform:translateY(-50%);
    opacity: 0;
  }
}

/*見出し類*/
.ttl_block{
  text-align: center;
  padding: 0 15px;
}
.ttl_block span{
  font-weight: bold;
  color: #fff;
  font-weight: bold;
  margin: 0 0 1.4rem;
  padding: .4em 1.2em;
  letter-spacing: .1em;
  display: block;
}

/*インライン　リンク　みどり*/
.inline-link._colorBlue{
	color: #45a2b0;
	font-weight: bold;
	margin: .5em 0;
	display: block;
}
.inline-link::after{
	content: "\f054";
	font-family: "Font Awesome 5 Free";
	font-weight: bold;
	font-size: 90%;
	padding: 0 .4em;
}

/*--------------------------*/

.stamp_wrap{
  max-width:500px;
  margin: 0 auto;
  background: #cbf2fb;
}
.stamp_wrap h1{
  font-weight:bold;
  font-size:1.5em;
  text-align: center;
  padding: 0 0 0 0;
}
@media screen and (min-width: 500px){
  .stamp_wrap h1{
    padding: 0 0;
  }
}
.stamp_wrap em,
.stamp_wrap span.ex{
	text-align: center;
	display: block;
}

.stamp_wrap span.ex{
	color:#45a2b0;
	font-size: 80%;
  margin-top: 10px;
}
.stamp_wrap p{
	padding: 1.2rem;
}


/*----------visual----------*/
.stamp_visual{
  position: relative;
  overflow: hidden;
}
.visual_sticky{
	position: absolute;
	width: 48%;
	left: -1%;
	top: 3%;
}
.visual_title {
    width: 68%;
    margin: 3% 0 0%;
    position: relative;
}
.visual_people {
    width: 65%;
    margin: .5em 0 0;
}
.visual_ataru{
    position: absolute;
    right: 12px;
    bottom: 12px;
    width: 30%;
  animation: appear .8s .5s ease 1 backwards, trembling 6s 2.5s ease infinite;
}


@keyframes appear{
  0%{
    transform: scale(0);
  }
  70%{
    transform: scale(1.2);
  }
  90%{
    transform: scale(1);
  }
}

@keyframes trembling{
  0%{
    transform: scale(1);
  }
  5%{
    transform: scale(1.1);
  }
  10%{
    transform: scale(1);
  }




  15%{
    transform: scale(1.1);
  }
  20%{
    transform: scale(1);
  }
}

/*---------kaisai summary-----------*/
.kaisai-summary {
    padding: 15px 0;
    text-align: center;
}
.kaisai-img {
    margin: 0 0 .5em;
}
.kaisai-summary-txt{
    font-size: 90%;
    line-height: 1.5;
}

/*----------detail----------*/
.detail{
    padding: 2% 15px 2%;
    margin: 0 0 0;
    background: #fff;
}
.detail-menu{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.detail-menu li{
  width: calc(100% / 4);
  text-align: center;
}
.detail-menu li a{
  border-right: #45a2b0 solid 2px;
  display: block;
  box-sizing: border-box;
  padding: 8px 0 10px;
  color: #45a2b0;
  text-decoration: none;
  font-weight: bold;
  background: #fff;
}

.detail-menu li:last-child a{
	border: none;
}

.detail-menu li a::after{
	content: "\f0dd";
	font-family: "Font Awesome 5 Free";
	display: block;
	margin: -.5em 0 -.4em;
}

/*----------stamparea----------*/
.stamparea{
    padding: 7% 15px;
}
.stampwrap{
	background: #fff;
	text-align: center;
	border-radius: 4px 4px 0 0;
	overflow: hidden;
}

.stamp_get{
    border: 4px solid #eee;
    padding: 1em 0 0;
    margin: 0 0 1em;
}
.stamp_get p{
	margin-bottom: .5em;
}

.stamp-amount{
  background: #45a2b0;
  text-align: center;
  color: #fff;
  position: relative;
  font-weight: bold;
}
.stamp-amount::before{
	content: "";
	display: block;
	width: 56px;
	height: 36px;
	position: absolute;
	top: -10px;
	left: -24px;
}
.stamp-amountNum {
	vertical-align: middle;
	background: #fff;
	display: inline-block;
	width: 1.6em;
	height: 1.2em;
	line-height: 1.3em;
	font-weight: bold;
	color: #45a2b0;
	font-size: 160%;
	margin: 0 0.3em;
	border-radius: 3px;
}


/*----------stampbox----------*/
.stampbox{
	display: flex;
  flex-wrap: wrap;
	justify-content: space-around;
	padding: 25px 8% 35px;
	background: #fff;
	overflow: hidden;
	border-radius: 0 0 4px 4px;
}
.stampbox li{
  box-sizing: border-box;
  width: 30%;
}
.stampbox li .stampObj{
	width: 20vw;
	height: 20vw;
	max-width: 85px;
	max-height: 85px;
	border-radius: 100%;
	background: #fff;
	position: relative;
	margin: auto;
}
.stampObjImg {
    width: 90%;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    margin: auto;
    position: absolute;
}
.pop_box .stampbox li .stampObj{
	width: 75px;
	height: 75px;
}
.stampbox .already .stampObj{
	background-color: #ffffff;
	border-color: #45a2b0;
}
/*スタンプごと色分け*/
/*.stampbox .already[data-stampnum="02"] .stampObj{background-color: #ea7d44; border-color: #ea7d44;}
.stampbox .already[data-stampnum="02"] .stampObj{background-color: #419cc9; border-color: #419cc9;}
.stampbox .already[data-stampnum="03"] .stampObj{background-color: #afd130; border-color: #afd130;}*/

.stampbox .already .stampObjImg{
	width: 95%;
}

@media screen and (min-width: 500px){
.stampbox .already .stampObj{
	    width: 80px;
	    height: 80px;
    }
}
.stampbox h5{
    font-size: 90%;
    text-align: center;
    margin: 0.4em 0 -0.4em;
    font-weight: bold;
}

/*----------stamp popup----------*/
.pop_box {
    background: #fff;
    /* position: fixed; */
    margin: auto;
    left: 0;
    right: 0;
    width: calc(100% - 20vw);
    max-width: 275px;
    border-radius: 5px;
    /* height: 290px; */
    top: 0;
    bottom: 0;
    text-align: center;
}
.pop_txt.new {
    font-weight: bold;
    padding: 1.4em 1em 0.2em;
    font-size: 110%;
}
.pop_txt.yet{
	font-weight: bold;
	padding: 3em 1em 2em;
	font-size: 110%;
}
.stampbox.pop{
  justify-content: center;
  padding: 0;
  background: transparent;
}
.stampbox.pop li{
    margin: 10px 0 0;
    width: 90px;
    height: 90px;
}
/*anime*/
@keyframes boyo {
  0%{transform: scale(1);opacity:0;}
  10%{transform: scale(.8)}
  20%{transform: scale(1.15);opacity:1}
  30%{transform: scale(.9)}
  80%{transform: scale(1.0)}
}

.pop_box .stampbox .already{
  animation: boyo linear 1 2s;
}

/*----------detail----------*/
.detail-content-inner{
	padding: 0 15px 5%;
	text-align: center;
}

/* #a_storemap.detail-content-inner {
  background-color: #fff;
} */

.detail-content-inner:last-of-type{
	border-bottom: none;
}
.detail-content h3, #a_coupon h3{
font-weight: bold;
    margin: 0 -15px 10px;
    padding: 0.5rem 0 0.7rem;
    letter-spacing: .1em;
    color: #fff;
    font-size: 120%;
    background: #45a2b0;
}
.detail-content-section{
	margin: 0 0 4vw;
}
.detail-content-section h4{
	font-weight: bold;
	margin: 0 0 3vw;
	padding: .5em;
	letter-spacing: .1em;
	color:#45a2b0;
}
#a_storemap h4{
	font-weight: bold;
	padding: .5em;
	letter-spacing: .1em;
	color:#45a2b0;
}
#a_coupon > h4{
    width: 100%;
    font-weight: bold;
    margin: 25px auto 10px;
    padding: 0.3rem 0 0.5rem;
    letter-spacing: .1em;
    color: #fff;
    font-size: 90%;
    background: #45a2b0;
}
.detail-content-section h5{
  border: 2px solid #45a2b0;
  color: #45a2b0;
  font-weight: bold;
  border-radius: 100em;
  margin: 0 0 .8em;
  padding: .3em 0 .2em;
  letter-spacing: .08em;
  font-size: 85%;
}
.detail-content-section p{
	font-size: 85%;
	text-align: left;
}
@media screen and (min-width: 500px){
  .detail-content-section{
  	margin: 0 0 20px;
  }
  .detail-content-section h4{
  	margin: 0 0 5px;
  }
}

.stamp_wrap p.campaign-overview, .stamp_wrap p.campaign-overview_remark {
  text-align: left;
  padding: 0;
}
.stamp_wrap p.campaign-overview_remark {
  margin-top: 40px;
  font-size: 87.5%;
  color: #555555;
}

.howTo-content{
  padding: 5px 10px 0;
}
.howTo-text{
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin: 0 0;
  position: relative;
}
.howTo-text::after{
  content: "";
  display: block;
  width: 100%;
  height: 0;
  margin: .6em 0 .8em;
}
.howTo-text:not(:last-of-type)::after{
  height: .6em;
  background: url(../img/triangle.svg) no-repeat center / contain;
}
.howTo-text .imgarea{
  width: 70px;
  width: 22vw;
  padding: .3em 0px 0 2vw;
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: center;
}
.howTo-text .imgarea img{
  max-height: 20vw;
}
.howTo-text p{
  width: calc(100% - 22vw - 15px);
  line-height: 1.5;
  letter-spacing: .05em;
}
.howTo-emphasis{
	color: #45a2b0;
	font-weight: bold;
}
.notes._small {
    display: block;
    padding: .3em 0 0;
}
@media screen and (min-width: 500px){
  .howTo-text .imgarea{
    width: 110px;
    padding-left: 10px;
  }
  .howTo-text .imgarea img{
  	max-height: 100px;
  }
  .howTo-text p{
    width: calc(100% - 115px);
    padding-left: 20px;
    box-sizing: border-box;
  }
}

.detail-content-section[data-section="when"] p,
.detail-content-section[data-section="howTo"] p{
	text-align: center;
	font-weight: bold;
	letter-spacing: 0.1em;
  font-size: 100%;
  background: #fff;
  border-radius: 6px;
  margin-bottom: 10px;
}
.detail-content-section[data-section="howTo"] p{
	text-align: justify;
	line-height: 1.6rem;
}


.detail-content-section.about_coupon .coupon-notification{
    text-align: left;
    font-size: 80%;
    margin-bottom: 10px;
    font-weight: bold;
    padding: 1.2em;
}

.coupon-notification li{
	list-style-type: disc;
	margin: 0 0 1em 1.2em;
}
.coupon-notification li:last-of-type{
	margin-bottom: 0;
}



/*howto join*/
#a_join img[src*="howToChallenge.svg"]{
  height: 108.8vw;  /*smooth scrollズレ防止*/
  margin: 0 0 3vw;
}
#a_join img[src*="howToChallenge2.svg"]{
  height: 48vw;  /*smooth scrollズレ防止*/
}

@media screen and (min-width: 500px){
  #a_join img[src*="howToChallenge.svg"]{
    height: 90px;  /*smooth scrollズレ防止*/
    margin: 0 0 15px;
  }
  #a_join img[src*="howToChallenge2.svg"]{
  	height: 240px;
  }
}

/*202410 howto_flow*/
ul.howto_flow {
  color: #45a2b0;
  font-weight: bold;
}
ul.howto_flow li.howto_flow_item {
    background: #fff;
    border-radius: 20px;
    padding: 1px;
    margin: 25px auto 50px;
    position: relative;
    box-shadow: 2px 2px 5px 0px rgba(0,0,0,.2);
}
ul.howto_flow li.howto_flow_item::after {
    content: "";
    display: block;
    width: 40px;
    height: 20px;
    clip-path: polygon(0 0, 100% 0, 50% 100%);
    background: #45a2b0;
    position: absolute;
    left:0;
    right: 0;
    margin: 16px auto;
}


ul.howto_flow li.howto_flow_item.howto_flow_item_step1 {
  margin-bottom: 0;
}
ul.howto_flow li.howto_flow_item.howto_flow_item_step2 {
  margin-top: 0;
}
ul.howto_flow li.howto_flow_item.howto_flow_item_step1::after {
  display: none;
}



ul.howto_flow li.howto_flow_remark {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  justify-content: center;
  align-items: center;
  height: 80px;
}
ul.howto_flow li.howto_flow_remark .icon {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 20px;
  grid-column: 2;
}
ul.howto_flow li.howto_flow_remark .icon .icon1 {
  display: flex;
  position: relative;
  width: 40px;
  height: 20px;
}
ul.howto_flow li.howto_flow_remark .icon .icon1::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  clip-path: polygon(50% 0, 0 100%, 100% 100%);
  background: #45a2b0;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
}
ul.howto_flow li.howto_flow_remark .icon .icon2 {
  display: flex;
  position: relative;
  width: 40px;
  height: 20px;
}
ul.howto_flow li.howto_flow_remark .icon .icon2::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  clip-path: polygon(0 0, 100% 0, 50% 100%);
  background: #45a2b0;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
}
ul.howto_flow li.howto_flow_remark p {
  padding: 0;
  grid-column: 3;
  text-align: center;
}



ul.howto_flow li.howto_flow_item:last-child::after {
    display: none;
}

ul.howto_flow li.howto_flow_item h6 {
    font-size: 130%;
    color: #45a2b0;
    text-align: center;
    margin: 10px auto 0;
    font-weight: bold;
    position: relative;
    z-index: 10;
}
ul.howto_flow li.howto_flow_item h6::after {
    content: '';
    display: block;
    width: 120px;
    background-color: #fff5a5;
    height: 1rem;
    position: absolute;
    bottom: 0;
    left: 0;
    right:0;
    margin:auto;
    border-radius: 10px;
    z-index: -10;
}
ul.howto_flow li.howto_flow_item .howto_flow_item_flex {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 1rem;
    gap: 20px;
}
ul.howto_flow li.howto_flow_item .howto_flow_item_flex figure {
    width: 40%;
    margin-right: 0;
}
ul.howto_flow li.howto_flow_item .howto_flow_item_flex p {
    width: 60%;
    font-weight: bold;
    background-color: transparent;
    text-align: justify;
    font-size: 90%;
    line-height: 1.4rem;
    padding:0;
}
ul.howto_flow li.howto_flow_item a.line_touroku {
    display: inline-block;
    margin-bottom: 20px;
    width: 160px;
}

/* @media screen and (max-width: 375px){
  ul.howto_flow li.howto_flow_item div {
    flex-flow: column;
}
ul.howto_flow li.howto_flow_item figure {
    width: 40%;
    margin-right: 0;
}
ul.howto_flow li.howto_flow_item p {
    width: 100%;
    margin-bottom: 0;
    padding: 1.2rem 0 0;
}
} */
/*storemap_list*/
.storemap_list {
    display: flex;
    justify-content: space-between;
    column-gap: 10px;
}
.storemap_list div{
    width: calc(100%/2 - 10px);
}

/* .storemap_list .storemap_list_minami p {
  color: #df81aa;
}
.storemap_list .storemap_list_kita p {
  color: #65bce3;
} */

.storemap_list div h6{
    display: block;
    width: 100%;
    padding: 3px 0;
    text-align: center;
    font-size: 120%;
    color:#fff;
    font-weight: bold;
    margin-bottom: 10px;
    margin-top: 15px;
}
.storemap_list div h6.minamican {
    background-color: #df81aa;
}
.storemap_list div h6.kitacan {
    background-color: #65bce3;
}
.storemap_list div p{
    font-size: 70%;
    line-height: 1.3rem;
    /* color: #40210f; */
    padding:0;
    text-align:left;
    font-weight: bold;
}

.storemap_list_attenntion {
  font-size: 75%;
  padding-top: 20px;
  display: inline-block;
  text-align: left;
  color: #000;
  font-weight: normal;
}


/* はじめに */
ul.howto_flow li.howto_flow_item .howto_introduction_title {
  background-color: #d31818;
  color: #fff;
  display: inline-block;
  border-radius: 18px;
  padding: 2px 40px;
  font-size: 100%;
  margin: 20px auto 0;
}
ul.howto_flow li.howto_flow_item .howto_introduction_title::after {
  display: none;
}
ul.howto_flow li.howto_flow_item .howto_introduction {
  padding: 1.2rem;
}
ul.howto_flow li.howto_flow_item .howto_introduction p {
  padding: 0;
  font-size: 90%;
}
ul.howto_flow li.howto_flow_item .howto_introduction ul {
  text-align: left;
  font-size: 90%;
  margin-top: 10px;
}
ul.howto_flow li.howto_flow_item .howto_introduction ul li {
  position: relative;
  padding-left: 1.2em;
}
ul.howto_flow li.howto_flow_item .howto_introduction ul li::before {
  content: "";
  position: absolute;
  top: 2px;
  left: 0;
  width: 1em;
  height: 1em;
  background-color: #45a2b0;
  border-radius: 50%;
}



/*taishou shop*/
.shops-list{
	display: flex;
	flex-wrap: wrap;
    justify-content: space-between;
}
.shops-list li{
	width: calc(50% - 5px);
	max-width: 230px;
	padding: 0 0 .8em;
}
.shop-list-imgarea{
	width: 100%;
	height: 30vw;
	max-height: 150px;
	overflow: hidden;
}
.shops-list .shops-list-pic{
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.shops-list .shops-list-name{
	font-weight: bold;
    text-align: left;
	font-size: 90%;
	margin: .5em 0 0;
  border: 0;
}
.shops-list .shop-list-floor{
    text-align: left;
	font-size: 80%;
	margin: .2em 0 0;
  padding: 0;
}
.shops-list .shop-list-floor::before{content:"[";}
.shops-list .shop-list-floor::after{content:"]";}


/*detail hint*/
#a_hint ol{
  background: #e5ecf4;
  border-radius: 6px;
  padding: 30px;
  list-style-type: none;
  text-align: left;
	counter-reset: li;
}
#a_hint ol li{
    font-weight: bold;
    padding-bottom: 20px;
    padding-left: 35px;
    margin-bottom: 20px;
    border-bottom: 2px solid #fff;
    position: relative;

}

#a_hint ol li:before {
position: absolute;
  font-weight: bold;
  counter-increment: li;
  content: counter(li) "";
  left: 0;
  top: -1px;
  color: #fff;
  width: 24px;
  height: 24px;
  font-size: 14px;
  text-align: center;
  border-radius: 100%;
  box-sizing: border-box;
  line-height: 1;
  background: #45a2b0;
  padding: 6px 0;
}



#a_hint ol li:last-of-type{
  border-bottom: none;
  padding-bottom: 0;
  margin-bottom: 0;
}

/*notice*/
.detail-notification{
	padding: 1.2em;
	font-size: 85%;
	line-height: 1.6;
	text-align: left;
}
.detail-notification li{
	position: relative;
  padding-left: 1.2em;
}
.detail-notification li::before {
  content: "";
  position: absolute;
  top: 2px;
  left: 0;
  width: 1em;
  height: 1em;
  background-color: #444444;
  border-radius: 50%;
}
.detail-notification_nested li::before {
  width: 0.3em;
  height: 0.3em;
  top: 8px;
}

.detail-notification li:last-of-type{
	margin-bottom: 0;
}

.detail-notification._listMarkKome li{
	list-style-type: none;
	position: relative;
	margin-bottom: .6em;
	/*font-size: 90%;*/
}
.detail-notification._listMarkKome li::before{
	content: "※";
	position: absolute;
	left: -1.2em;
}

/*header sclogo*/
.header-sclogo{
  display: block;
  width: 20vw;
  max-width: 110px;
  margin: 0 auto;
  padding: .6em 0;
}

/*----------mini header----------*/
.miniHeader {
  max-width: 500px;
  margin: 0 auto 14px;
}
.miniHeader img{
  width: 100%;
}

/*---------zenbu--------*/
.getAll{
  text-align: center;
  margin: 1em 0 0;
  padding: 0 25px;
}
.getAll h3{
  width: 95%;
  min-width: 16.5em;
  background: #e0433f;
  border-radius: 100px;
  color: #fff;
  margin: 0 auto 1em;
  font-weight: bold;
  padding: 0.4em;
  box-sizing: border-box;
  letter-spacing: 0.1em;
}
.getAll > p{
    padding:0;
}
.getAll > p > img{
  margin: 0 0 .6em;
}
.getAll .btn_get{
  margin: 0 0 1.3em;
}

/*----------complete gamen----------*/
.ticketImg {
    padding: 0 15px 15px;
    position: relative;
}
.ticket-used{
  position: absolute;
  width: calc(100% - 30px);
  height: calc(100% - 15px);
  top: 0;
  left: 15px;
  background: #00000099;
}
.ticket-used-message{
  position: absolute;
  color: #fff;
  background: #00000066;
  border: 2px solid #fff;
  padding: .5em;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  margin: auto;
  height: calc(1em + .5em);
  width: calc(4em + 1.5em);
  text-align: center;
  font-weight: bold;
  letter-spacing: .1em;
  font-size: 110%;
}

/*----------keihin show gamen----------*/
.keihin_wrap{
	text-align: center;
}
.keihin_photo{
	display: block;
	width: 70%;
	margin: 0 auto 16px;
}
.keihin_guide{
	border: 3px solid #CAE2FF;
	width: 80%;
	margin: 0 auto 16px;

	padding: .6em;
	box-sizing: border-box;
	line-height: 1.2;
	font-weight: bold;
	color: #45a2b0;
}
.keihin_add{
	font-weight: bold;
	font-size: 85%;
	margin: -8px auto 16px;
}

.keihin_notice{
	text-align :center;
}
.keihin_noticeImportant{
	color: #f00;
	font-weight: bold;
	margin: 0 10px .5em;
}
.keihin_noticeComment{
	font-size: 85%;
	margin: 0 10px 16px;
}

.keihin_exChg {
    background: #EEEEEE;
    padding: 20px 0 40px;
}

/*----------owari end----------*/
.end-thankYou{
	text-align: center;
	margin: 0 0 .5rem;
	font-weight: bold;
	font-size: 120%;
	color: #EF5000;
}
.end-thank-txt{
	text-align: center;
	font-size: 90%;
	margin: 0 0 1.8rem;
}
.end-continue{
	background: #e5ecf4;
	text-align: center;
	padding: 20px 0 30px;
}

.end-continue-ttl{
	color: #45a2b0;
	font-weight: bold;
}
.end-continue p{
	font-weight: bold;
}
.end-continue-items {
    display: flex;
    flex-wrap: wrap;
    width: calc((25vw * 3) + 20px);
  max-width: calc(100% - 65px);
    margin: 0 auto 15px;
    justify-content: space-between;
}
.end-continue-ttl{
    margin: 0 0 8px;
}
.end-continue-ttl + p{
    margin: 0 0 12px;
    font-weight: normal;
    font-size: 85%;
    padding: 0 16px;
}
.end-continue-items li{
    width: 25vw;
    height: 25vw;
    box-sizing: border-box;
    max-width: 130px;
    max-height: 130px;


    overflow: hidden;
    border: 3px solid #fff;
    border-radius: 6px;
}
.end-continue-items li img{
    max-width: 100%;
}

/*----------first agree gamen-------------*/
.fst_agree_view{
}
.fst_agree_window{
  position: absolute;
  display: block;
  /*width: calc(100% - 10vw);*/
  margin: auto;
  left: 0;
  right: 0;
  /*top: 10vw;*/
  border-radius: 5px;
  padding: 20px;
  box-sizing: border-box;
  max-height: calc(100% - 20vw);
  overflow: hidden;
  text-align: center;
}
.fst_agree_view[data-show="1"] .fst_agree_window{
  /*height: calc(100% - 20vw)*/
}
.fst_agree_window .agree-list_wrap{
	margin: 0 0 15px;
	padding: 0 1em;
	overflow: scroll;
	border: 1px solid #888;
	border-top: none;
	position: relative;
	height: 80%;
}
.fst_agree_window .agree-list_wrap::before{/*
  content: "\f078";
  font-family: "Font Awesome 5 Free";
  font-weight: bold;
  position: absolute;
  left: 0;
  right: 0;
  bottom: 8%;
  margin: auto;
  text-align: center;
  font-size: 130%;
  color: #45a2b0;
  background: #fff;
  width: 2em;
  height: 2em;
  line-height: calc(220%);
  border: 2px solid #45a2b0;
  border-radius: 2em;
  box-shadow: 0 0 10px #45a2b000033;
  animation: promptScroll 1.5s ease infinite;
  transition-duration: .5s;
  z-index: 1002;*/
}

.fst_agree_window .agree-list_wrap::after{
  transition-duration: .5s;
  content: "";
  display: block;
  width: 100%;
  height: 30%;
  background: linear-gradient(#ffffff00 0%, #fff 100%);
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 1001;
}
.fst_agree_window .agree-list_wrap._scrolled::before,
.fst_agree_window .agree-list_wrap._scrolled::after{
  opacity: 0;
}
@keyframes promptScroll{
  0%{
  	transform: translateY(0);
  }
  80%{
  	transform: translateY(20px);
  }
  100%{
  	transform: translateY(0);
  }
}

.fst_agree_window h3{
	text-align: center;
	font-weight: bold;
	padding: 0 0 .8em;
	border-bottom: 2px solid #888;
	letter-spacing: .1em;
	font-size: 110%;
}
div[data-show="1"] .fst_agree_window h3{
	border-bottom: 1px solid #888;
}

.fst_agree_window h3 i{
    color: #e0433f;
    margin: 0 .5em;
}
.fst_agree_window .agree-list li{
	font-size: 90%;
	padding: 12px 0;
	border-bottom: 1px solid #888;
}
.fst_agree_window .agree-list li:last-of-type{
	border-bottom: none;
}
.fst_agree_window .btn{
	margin-top: 15px;
}
.agree_text {
    padding: 1em 0;
    font-size: 90%;
}

.agree_covid {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    margin: 0 0 .5em;
}
.agree_covid li{
    width: 110px;
    background: #e5ecf4;
    height: 100px;
    border-radius: 4px;
    margin: 0 5px 10px;
    text-align: center;
    /* color: #45a2b0; */
    font-weight: bold;
    font-size: 90%;
    display: flex;
    justify-content: center;
    align-items: center;
    line-height: 1.2;
}
.agree_covid li:first-of-type{
	margin: 0 calc(100% - 220px) 10px;
}
.agree_covid li p{
	width: 100%;
}
.agree_covid li p::before{
	content: "";
	display: block;
	margin: .2em 0 .5em;
	width: 100%;
	height: 2.5em;
	background: transparent no-repeat center / auto 100%;
}
.agree_covid li[data-covid="wearmask"] p::before{
	background-image: url(../img/icoCovid1.svg);
}
.agree_covid li[data-covid="distance"] p::before{
	background-image: url(../img/icoCovid2.svg);
}
.agree_covid li[data-covid="handwash"] p::before{
	background-image: url(../img/icoCovid3.svg);
}




.swiper-container {
    position: relative;
  }
  .swiper-pagination {
    bottom: -7vw !important;
  }
  .fst_agree_window  .swiper-pagination-bullet-active{
    background-color: #fff;
  }
  .swiper-button-next:after{
    position: relative;
    right: -30px;
    color: #e21313;
  } 
  .swiper-button-prev:after {
    left: -30px;
    position: relative;
    color: #e21313;
} 
/*----------footer-------------*/
.footer{
    text-align: center;
    padding: 0 0 2em;
    font-size: 85%;    
    border-top: solid #45a2b0 2px;
}

.footer-sclogo {
    display: block;
    margin: 1em auto;
    width: 20vw;
    max-width: 80px;
}


/*-----------pagetop modoru btn-------------*/

.backToTop{
  position: fixed;
  bottom: 0;
  right: 0;


  z-index: 998;
  padding: 20px;
  display: none;
}

.backToTop_btn {
  background: #45a2b0;
  display: block;
  font-size: 130%;
  width: 2.7em;
  height: 2.7em;
  line-height: 2.7em;
  text-align: center;
  color: #fff;
  border-radius: 100%;
  box-shadow: 0 0 10px rgb(0 0 0 / 30%);
  position: relative;
  overflow: hidden;
}

/*------------atari-------------*/
.lottery_pic._won {
    background-blend-mode:lighten;
    position: relative;
}

.lottery_pic._won img {
  width: 80%;
  margin: 10px auto;
  display: block;
}
.lottery_pic_txt{
	width: 60%;
	left: 6%;
  animation: appear .8s 1.5s ease 1 backwards, trembling 6s 2.5s ease infinite;
}
.lottery_pic_people{
	width: 50%;
	left: 33%;
	top: 27%;
	opacity: 0;
	animation: atariPeople 1s .8s ease forwards;
}
.lottery_pic_shadow{
	width: 37%;
	left: 34%;
	top: 90%;
	opacity: 0;
	animation: atariShadow 1s 1s ease forwards;
}
.lottery_pic_kirakira{
	width: 13%;
	left: 23%;
	top: 47%;
  opacity: 0;
	animation: shineTwinkle 2.6s 2s ease infinite;
}

@keyframes atariPeople{

	0%{
        transform: scale(.8) rotate(8deg);
	}
	100%{
		opacity: 1;
		transform: scale(1) rotate(0deg);
	}
}
@keyframes atariShadow{
	0%{
		transform: translateY(30px);
	}
	40%{
		opacity: 0;
	}
	100%{
		opacity: 1;
		transform: translateX(0);
	}
}
@keyframes showResult{
  0%{
    opacity: 0;
    transform: translateY(30px);
  }
  100%{
    opacity: 1;
    transform: translateY(0);
  }
}

/*あたり画面*/
.stamp_wrap p.lottery_won_box{
	text-align: center;
	color: #45a2b0;
	font-weight: bold;
	margin: 0;
	padding:0 1.2rem;
	font-size: 90%;
	opacity: 0;/*透明な状態で待機*/
	/*animation: showResult 1s 2.5s ease 1 forwards;*/opacity:1;
}

.lottery_pic._won img.congratulation_set{
	animation: poyoyon 1s ease-in-out 1 forwards;
    margin: 20px auto 20px;
}

p.toku.end_anime {
    text-align: center;
}

@keyframes poyoyon {
  0%  {
    transform: scale(1.0, 1.0) translate(0, 0);
  }
  15% {
    transform: scale(0.98, 0.9) translate(0, 5px);
  }
  30% {
    transform: scale(1.02, 1.0) translate(0, 8px);
  }
  50% {transform: scale(0.98, 1.05) translate(0, -8px);
  }
  70% {
    transform: scale(1.0, 0.9) translate(0, 5px);
  }
  100% {
    transform: scale(1.0, 1.0) translate(0, 0);
  }
  0%, 100% {
    opacity: 1;
  }
}

.congratulation_text{
	animation: fuwafuwa 3s infinite ease-in-out .8s alternate;
  display: inline-block;
  transition: 1.5s ease-in-out;
  margin-top: 15px;
	position: absolute;
	top:40px;
	left:10px;
}
@keyframes fuwafuwa {
  0% {
    transform:translate(0, 0) rotate(-7deg);
  }
  50% {
    transform:translate(0, -7px) rotate(0deg);
  }
  100% {
    transform:translate(0, 0) rotate(7deg);
  }
}
.lottery_pic._won img.congratulation_text {
    width: 60%;
}

select {
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    border: 1px solid #aaa;
    border-radius: 4px;
    padding: 7px;
    font-size: 1rem;
    cursor: pointer;
    box-sizing: border-box;
    width: 80%;
    max-width: 80%;
    background: #fff;
    margin-bottom: 15px;
    color: #000;
}

select:disabled {
  pointer-events: none;
  background-color: #f1f1f1;
  color: #aaa;
}

.select-wrapper {
  position: relative;
  display: inline-block;
    margin-top: 15px;
}


/*引換画面でのver*/
.lottery_won_box._isShow{
  opacity: 1;
  animation: none;
  background-color: #F66E7033;
  color: #F66E70;
  padding: 0;
  position: relative;
}
.lottery_won_content{padding: .1em 0 1em;}
.lottery_won_caution{
  border-top: 2px dotted;
  padding: 1em 0;
}
.lottery_won_box._isShow .emphasis{color: #F66E70;}
/*end*/
.lottery_won_used{
  position: absolute;
  width: 100%;
  height: 100%;
  background: #000;
  color: #fff;
  font-size: 200%;
  display: flex;
  align-items: center;
  justify-content: center;
}

/*
.lottery_won_num{
background: #fff652;
    border: 3px solid #fff;
    border-radius: 100px;
    font-size: 180%;
    margin: 0.4rem auto 0;
    padding: 1rem;
}*/
p.lottery_won_num {
    text-align: center;
}
.lottery_won_box .emphasis{
	color: #45a2b0;
	padding: 0 .1em;
  background:none;
}

.tokuten_box-normal{
	background: #E9581D33;
	padding: 16px;
}
.tokuten_box{
	background: #E9581D33;
	padding: 16px;
	font-size: 90%;
}
/*半透明色*/
._blue-20p{background: #e5ecf4;}
._orange-20p{background: #EF500033;}
._pink-20p{background: #F66E7033;}

.tokuten_where{
	text-align: center;
	color: #45a2b0;
	margin: 0 0 12px;
	padding: 0 .5rem 1rem;
	font-weight: bold;
	font-size: 110%;
}
.tokuten_where .tokuten_where_plc{
	font-size: 110%
}

.tokuten_where p.useShopBox_name {
     background: #fff;
    border-radius: 40px;
    margin: 10px auto 20px;
    width: 85%;
    font-size: 120%;
}
.caution_mini{
	display: block;
	font-size: 80%;
	margin: .5rem 0 0;
}
.tokuten_box form{
	margin: 1em 0;
}

.tokuten_sname{
  color: #45a2b0;
  font-weight: bold;
  margin: 0 0 .5em;
}
.tokuten_kakunin{
  letter-spacing: .1em;
  margin: 0 0 .5em;
}
.tokuten_kakunin_caution{
  color: #ff0000;
}

.tokuten_img {
  border: 1px solid #000;
  font-size: 120%;
  font-weight: bold;
  padding: 0.6em;
  letter-spacing: .05em;
  margin: 0 0 .5em;
}
.tokuten_img_logoWrapper{
  min-height: 10rem;
  position: relative;
}
.tokuten_img_logo{
  display: block;
  max-width: 50%;
  max-height: 65%;
  margin: auto;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
}
.tokuten_img_logo{}

.tokuten_kakunin-txt{
  padding: 0 0 .5em;
  animation: shineTwinkle2 3s ease infinite;
}
/*
.caution_blink{
	animation: isblink 2s ease infinite;
}
@keyframes isblink{
  0%{
  	opacity:0.5;
  }
  50%{
  	opacity: 1;
  }
  100%{
  	opacity:0.5;
  }
}*/

p.couponuse_notes {
    color: red;
    background:#fff;
    padding: 10px;
    border-radius: 6px;
    font-weight: bold;
    text-align: left;
}

.tokuten_showbtn{
  background: #bae0f7;
  margin: 0 0 2em;
  padding: 1.4em;
}
.tokuten_showbtn .btn-big{
  border: 3px solid #fff;
}

.tokuten_thankyou{
  font-size: 110%;
  font-weight: bold;
  margin: 0 0 0.2em;
}
.tokuten_thankyou_small{
  font-size: 95%;
  margin: 0 0 .2em;
}

img.toku.end_anime {
    width: 80%;
    margin-top: 10px;
}

.tokuten_view p.form-caption {
    padding: 0 1.2rem 2rem;
}

/*hazure*/
.lottery-hazure-ttl {
  opacity: 0;
  animation: hazureShow 1s .5s ease 1 forwards;
  padding: 20vw 10vw calc(20vw + 1rem);
}
.lottery-hazure-re {
  opacity: 0;
  animation: hazureShow 1s 1.5s ease 1 forwards;
}

@keyframes hazureShow{
  0%{
    opacity: 0;
    transform: translateY(20px);
  }
  100%{
    opacity: 1;
    transform: translateY(0);
  }
}

/*re entry gamen*/
.reEntry_box {
  background: #e5ecf4;
  color: #45a2b0;

  text-align: center;
  font-weight: bold;
  padding: 2em 1em;
}
.reEntry_box form{
  padding-top: 1em;
}
.reEntry_box .btn-big._blue{
  border: 2px solid #fff;
}



.swiper-container {
    width: 100%;
    /*height: 300px;*/
  }
  .swiper-container img{
    max-width: 100%;
    height: auto;
  }
  .swiper-horizontal > .swiper-pagination-bullets{
    display: none;
  }
  .swiper-button-next::after, .swiper-button-prev::after{
    font-weight: 900;
  }
  .back a{
    display: block;
    width: calc(100% / 2 - 110px);
    list-style-type: none;
    font-weight: bold;
    text-align: center;
    padding: 0.5em 0.5em 0.5em 0.2em;
    border: 1px solid #C9CACA;
    border-radius: 10px;
    background-color: #fff;
    margin: 10px 0px 0;
    font-size: 16px;
    position: relative;
    cursor: pointer;
  }
  .back a:before {
    content: "\e5cb";
    font-size: 24px;
    font-family: "Material Symbols Outlined";
    line-height: 1em;
  vertical-align: middle;
}