@charset "UTF-8";

:root {
  /* COLOR */
  --lightgreen: #ccff00;
  --green: #299340;
  --purple: #9108e9;
  --blue: #00afec;
  --pink: #e85298;
  --orange: #ff9327;
  --yellow: #ffcc33;
  --red: #d61212;

  /* FONT */
  --dela: "dela-gothic-one";
  --tombo: "ab-tombo-bold";
}

/*******************************
共通CSS
********************************/
body,div,p,li {
  font-family: "Noto Sans JP",sans-serif;
  -webkit-text-size-adjust: 100%;
}

html { scroll-behavior: smooth;}

body {
  background: #CCFF00;
}

a.link {
  color: #000;
  text-decoration: none;
  display: block;
  position: relative;
  width: 100%;
  height: 100%;
}

.anime {opacity: 0;}


#wrapper {
  margin-left: auto;
  margin-right: auto;
  position: relative;
  overflow: hidden;  
}

.section {background-color:#E5E5E5;-webkit-transform: skew(0deg, -9deg);}
.section .container {-webkit-transform: skew(0deg, 9deg);}


.center {
  text-align: center;
}

.title {
}


.top_lead {
  background: rgba(0, 0, 0, 0.45);
  color: #fff;
  /* text-decoration-line: underline;
  text-decoration-color: #D7387E;
  text-decoration-style:solid;
  text-decoration-thickness: 3px;
  text-underline-offset: 8px; */
}

.top_lead span {
  font-weight: 900;
}
.lead_sub {
  background: #000;
  color: #FBEC76;
}

#wrapper .scroll_bt {
  display: flex;
  justify-content: space-between;
}
section {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.wrap {
  display: flex;
  flex-direction: column;
  align-items: center;
  /* background: #FFF6D0; */
}

.kaisaimae {
  background: #299340;
  position: relative;
  margin-top: 40px;
}
.kaisaityu {
  position: relative;
  margin-top: 20px;
}

.lead .lead_text { padding-top: 30px; }
.lead .purple { color: #9107E9; font-weight: 900; }
.lead .gray { color: #4D4D4D; }

.kaisaimae .kikan,
.kaisaimae .racetitle {
  background: #CCFF00;
  box-shadow: 5px 5px 0px #000;
}
.kaisaimae .syohin,
.kaisaimae .huri {
  background: #fff;
  border: 2px solid #000;
  box-shadow: 5px 5px 0px #000;
}
.kaisaityu .kikan,
.kaisaityu .racetitle {
  background: #72DAFF;
  box-shadow: 5px 5px 0px #000;
}
.kaisaityu .syohin {
  background: #fff;
  border: 2px solid #000;
  box-shadow: 5px 5px 0px #000;
}

.kaisaityu .tousen {
  color: #000;
  font-weight: bold;
  text-align: center;
}



.kaisaityu .syohin_wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.kaisaityu .syohin01 {
  background: #fff;
  border: 2px solid #000;
  box-shadow: 5px 5px 0px #000;
  position: relative;
}
.kaisaityu .syohin_con{
  display: flex;
  position: relative;
  justify-content: space-between;
}
.kaisaityu .people {
  font-weight: 900;
  background: #CCFF00;
  display: flex;
  align-items: baseline;
  justify-content: center;
}
.kaisaityu .people span {
  font-weight: bold;
}
.kaisaityu .syohin01 .hukidasi {
  margin: 0 auto;
  font-weight: bold;
  text-align: center;
}
.kaisaityu .syohin02 .hukidasi,
.kaisaityu .syohin03 .hukidasi,
.kaisaityu .syohin04 .hukidasi,
.kaisaityu .syohin05 .hukidasi {
  margin: 0 auto;
  font-weight: bold;
  text-align: center;
}
.kaisaityu .syohin02,.kaisaityu .syohin03,
.kaisaityu .syohin04,.kaisaityu .syohin05 {
  background: #fff;
  border: 2px solid #000;
  box-shadow: 5px 5px 0px #000;
}
.kaisaityu .syohin06 {
  background: #fff;
  border: 2px solid #000;
  box-shadow: 5px 5px 0px #000;
  position: relative;
}


.entry {
  width: 950px;
  height: 188px;
  background: #fff;
  border: 2px solid #000;
  box-shadow: 4px 4px 0px #000;
}
.entry .naka {
  background: #E85298;
  border: 2px solid #000;
}

.logo a, .kikan .btn a,.entry a {
  display: inline-block;
  width: 100%;
  height: 100%;
  text-indent: -3999px;
}

/* スライドイン01 */
.fade-up {
  transform: translateY(20px); /* 初期位置を下に設定 */
  visibility: hidden;
  transition: transform 0.3s ease-out; /* アニメーションの時間 */
}
.fade-up.visible {
  transform: translateY(0); /* スライドインして元の位置に戻る */
  visibility: visible;
}
.pop {
  animation: popup 0.6s cubic-bezier(0.22, 1, 0.36, 1) forwards;
}
 
@keyframes popup {
  0% {
    transform: translateY(40px) scale(0.8);
    opacity: 0;
  }
  100% {
    transform: translateY(0) scale(1.0);
  }
  80%, 100% {
    opacity: 1;
  }
}

.poyo01 {
  animation: poyo01 3s ease-out infinite;
  opacity: 1;
  }
  @keyframes poyo01 {
  0%, 40%, 60%, 80% { transform: scale(1.0); }
  50%, 70% { transform: scale(0.95); }
  }

.poyo02 {
  animation: poyo02 3s ease-out;
  opacity: 1;
  }
  @keyframes poyo02 {
  0%, 40%, 60%, 80% { transform: scale(1.0); }
  50%, 70% { transform: scale(0.95); }
  }


/* header
------------------------------------------------------------*/
#wrapper #header {
  background: #fff;
  border-bottom: 2px solid #000;
  width: 100%;
  height: 60px;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1000;
}

#wrapper #header h1 {
  background: none;
  border: none;
  width: 222px;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}

#wrapper #header h1 a {
  padding: 0 15px;
}

#wrapper #header h1 img {
  width: 100%;
  height: 60px;
}

#wrapper #header button.tohyo {
  background: none;
  border: none;
}
#wrapper #header button.tohyo a {
  background: var(--red);
  border: 1px solid #000;
  border-radius: 5px;
  color: #fff;
  font-size: 16px;
  font-weight: 900;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 92px;
  height: 45px;
  position: absolute;
  top: 50%;
  right: 60px;
  transform: translateY(-50%);
  cursor: pointer;
}
#wrapper #header button.tohyo a span.icn {
  display: inline-block;
  width: 20px;
  margin-right: 6px;
}
#wrapper #header button.tohyo a span.icn img {
  display: block;
  width: 100%;
  height: auto;
}


/* menu
------------------------------------------------------------*/
.menu[hidden] {
  display: block;
  opacity: 0;
  visibility: hidden;
}

/* メニューボタン */
.menu-toggle {
  background: none;
  border: none;
  width: 60px;
  height: 60px;
  position: fixed;
  top: 0;
  right: 0;
  cursor: pointer;
  z-index: 2001;
}

.menu-toggle p {
  color: #000;
  font-family: var(--dela), sans-serif;
  font-size: 12px;
  display: flex;
  justify-content: center;
  width: 100%;
  margin-top: 36px;
  padding-bottom: 8px;
}

.menu-toggle::before,
.menu-toggle::after {
  content: "";
  background: #000;
  border-radius: 5px;
  width: 24px;
  height: 2.5px;
  margin: auto;
  position: absolute;
  left: 0;
  right: 0;
  transition: 0.3s all;
}
.menu-toggle::before {
  top: calc(40% - 6.5px);
}
.menu-toggle::after {
  bottom: calc(60% - 6.5px);
}

/* メニューアクティブ時　スタイル */
.menu {
  background: var(--green);
  width: 100%;
  height: 100dvh;
  position: fixed;
  top: 0;
  left: 0;
  transition: 0.3s all;
  opacity: 1;
  pointer-events: all;
  visibility: visible;
  z-index: 2000;
  overflow-y: scroll;
}
@supports not (height: 100dvh) {
  .menu {
    height: 100vh;
  }
}

.menu-toggle.cross::before,
.menu-toggle.cross::after {
  background: #fff;
}
.cross.menu-toggle::before {
  transform: translateY(5.4px) rotate(25.5deg);
}
.cross.menu-toggle::after {
  transform: translateY(-5.4px) rotate(-25.5deg);
}

.menu-toggle.cross p {
  color: #fff;
}

/* メニューコンテンツ */
.menu_con_wrap {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 84px 0;
}

#menu_con {
  width: 300px;
  z-index: 1;
}

#wrapper #menu_con ul li a {
  color: #fff;
  font-weight: 900;
  text-align: center;
}

#wrapper #menu_con ul.main-menu {
  font-size: 25px;
  width: 100%;
  margin-bottom: 72px;
  position: relative;
}
#wrapper #menu_con ul.main-menu li {
  margin-bottom: 28px;
}
#wrapper #menu_con ul.main-menu li:last-child {
  margin-bottom: 0;
}
#wrapper #menu_con ul.main-menu li span.icn {
  display: inline-block;
  width: 25px;
  transform: translateY(2px);
}
#wrapper #menu_con ul.main-menu li span img {
  display: block;
  width: 100%;
  height: auto;
}

#wrapper #menu_con ul.main-menu::before {
  content: "";
  background: #fff;
  width: 100%;
  height: 2px;
  position: absolute;
  bottom: -36px;
  left: 0;
}

#wrapper #menu_con ul.sub-menu {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  font-size: 16px;
  width: 100%;
  margin: 0 auto;
}
#wrapper #menu_con ul.sub-menu li {
  margin-bottom: 12px;
}
#wrapper #menu_con ul.sub-menu li:nth-child(8),
#wrapper #menu_con ul.sub-menu li:last-child {
  margin-bottom: 0;
}
#wrapper #menu_con ul.sub-menu li:nth-child(1),
#wrapper #menu_con ul.sub-menu li:nth-child(3),
#wrapper #menu_con ul.sub-menu li:nth-child(6) {
  margin-right: 16px;
}

#wrapper #menu_con ul.sns-list {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 280px;
  margin: 72px auto 36px;
}

#wrapper #menu_con p.copyright {
  color: #fff;
  width: 100%;
  font-size: 13px;
  font-weight: 900;
  text-align: center;
  line-height: 20px;
}

#wrapper #menu_con ul.sns-list li {
  width: 32px;
  height: 32px;
}

#wrapper #menu_con ul.sns-list li img {
  display: block;
  height: 32px;
}

/* active */
#wrapper #menu_con li a span.day {
  display: none;
}
#wrapper #menu_con li a br {
  display: none;
}

/* non active スタイル */
#wrapper #menu_con li.no {
  opacity: 0.3;
}

#wrapper #menu_con li.no a {
  pointer-events: none;
  line-height: 32px;
}

#wrapper #menu_con li.no a span.day {
  background: #fff;
  color: var(--green);
  font-size: 14px;
  font-weight: 700;
  line-height: 18px;
  display: inline-block;
  height: 18px;
  padding: 0 6px;
}

#wrapper #menu_con li.no a br {
  display: block;
}

/* footer
------------------------------------------------------------*/
#footer {
  background: #fff;
  border-top: 2px solid #000;
  width: 100%;
  padding-bottom: 20px;
  margin-top: 20px;
}

#footer p.copyright {
  color: #000;
  width: 100%;
  font-size: 13px;
  font-weight: 900;
  text-align: center;
  line-height: 20px;
}

#footer ul.sns-list {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 280px;
  margin: 36px auto;
}

#footer ul.sns-list li {
  width: 32px;
  height: 32px;
}

#footer ul.sns-list li img {
  display: block;
  width: 100%;
  height: 32px;
}


/***********************************************************************
「★PC・タブレット版 CSS★」ブラウザの幅が751px以上ならここの記述が有効になる
**********************************************************************/
@media all and (min-width: 751px) {
body {
  font-size: 16px;
  line-height: 1.4;
}

.pc_non {
  display: none !important;
}


.kaisaimae {
  margin-top: 153px;
}

#wrapper {
  display: flex;
  flex-direction: column;
  align-items: center;  
  overflow-x: hidden;
  width: 100%;
}

.lead {
  color: #000;
  width: 1000px;
  font-size: 16px;
  line-height: 22px;
  font-weight: bold;
  text-align: center;
  background-size: contain;
  animation: fadeIn 0.6s; animation-fill-mode: forwards; animation-delay: 0.4s;  animation: popup 0.6s cubic-bezier(0.22, 1, 0.36, 1);
}

/* ここから電投上 */
.pc_top {
  width: 1920px;
  height: 395px;
  background: url(../images/title_bg_pc.png) no-repeat center;
  background-size: contain;
  text-align: center;
  margin-bottom: -22px;
}
.dento_tit {
  width: 1000px;
  margin: 0 auto;
  padding: 34px 0 26px;
}
.dento_tit img {
  width: 1000px;

animation: fadeIn 0.8s 1 normal backwards,
floating-y 1.5s ease-in-out infinite alternate-reverse 1s;
/* animation-delay: 0.5s; */
}
@keyframes fadeIn {
from { opacity: 0; transform: translateY(20%); }
to { opacity: 1; transform: translateY(0%); }
}
@keyframes floating-y {
0% { transform: translateY(-2%); }
100% { transform: translateY(0%); }
}


.top_lead {
  width: 100%;
  font-size: 19px;
  line-height: 28px;
  padding: 13px 0 13px;
  text-align: center;
}
.top_lead span {
  font-weight: 900;
  position: relative; /* これを追加して擬似要素を調整 */  
}
.top_lead span::after {
  content: ''; /* 擬似要素を表示 */
  position: absolute;
  bottom: 0; /* 下線の位置を少し上げる（調整可能） */
  left: 17%;
  width: 65%; /* 下線の長さを指定（例えば80%に設定） */
  height: 2px; /* 下線の太さ */
  background-color: #D7387E; /* 下線の色 */
}
.top_lead span:nth-child(2):after {
  content: ''; /* 擬似要素を表示 */
  position: absolute;
  bottom: 0; /* 下線の位置を少し上げる（調整可能） */
  left: 15%;
  width: 70%; /* 下線の長さを指定（例えば80%に設定） */
  height: 2px; /* 下線の太さ */
  background-color: #FFCC33; /* 下線の色 */
}
.lead_sub {
  width: 100%;
  font-size: 18px;
  line-height: 18px;
  text-align: center;
  margin: auto;
  padding: 6px 0 9px;
  margin-bottom: 27px;
}

#wrapper .scroll_bt {
  width: 1000px;
  margin: 0 auto 50px;
  position: relative;
}
#wrapper .scroll_bt li {
  width: 493px;
  height: 148px;
  position: relative;
  transition: transform 0.3s ease;
}
#wrapper .scroll_bt li:nth-child(1) { margin-right: 14px; }

#wrapper .scroll_bt li:hover {
  opacity: 1;
  transform: translateY(3px);
}

#wrapper .scroll_bt .top_left {
  position: relative;
  left: 0;
  top: 0;
}
#wrapper .scroll_bt .top_left img{
  width: 1000px;
}
#wrapper .scroll_bt .top_right {
  position: absolute;
  top: -83px;
  right: -530px;
}
#wrapper .scroll_bt .top_right img{
  width: 705px;
}


/* ここから電投下 */
section {
  width: 1920px;
}
section h2 {
  width: 1000px;
}
section h3 {
  width: 1000px;
  font-size: 35px;
  font-weight: 900;
  text-align: center;
  margin-bottom: 5px;
}
.kaisaimae h3 { color: #fff; text-shadow: 3px 3px 0px #000; }
.kaisaityu h3 { color: #000; text-shadow: 3px 3px 0px #fff; }

.wrap {
  width: 1000px;
  position: relative;
}




/* 開催前キャンペーン */
.kaisaimae h2 {
  background: url(../images/mae_h2_pc.svg) no-repeat center;
  background-size: contain;
  height: 248px;
  margin-top: 64px;
  margin-bottom: 15px;
}
.kaisaimae .container {
  position: relative;
}
.top_ribbon {
  position: absolute;
  top: -43px;
  left: -40px;
}
.top_ribbon img{ width:140px; }

.kaisaimae .mae_bom01 {
  position: absolute;
  top: -18px;
  right: -200px;
  z-index: -1;
}
.kaisaimae .mae_bom01 img { width: 1377px; }

.kaisaimae .mae_bom02 {
  position: absolute;
  top: 414px;
  left: -190px;
  z-index: -1;
}
.kaisaimae .mae_bom02 img { width: 1258px; }


.kaisaimae .mae_bom03 {
  position: absolute;
  bottom: -560px;
  left: -820px;
  z-index: -1;
}
.kaisaimae .mae_bom03 img { width: 788px; }

.kaisaimae .nami {
  position: absolute;
  top: 135px;
  right: -77px;
  z-index: -1;
}
.kaisaimae .nami img { width: 335px; }

.kaisaimae .lead {
  height: 91px;
  background: url(../images/lead_bg01_pc.png) no-repeat center;
  position: relative;
}

  
.kaisaimae .giza_ye {
  position: absolute;
  top: -49px; left: -70px;
  z-index: -1;
}
.kaisaimae .giza_ye img { width: 150px; }

.up {
  width: 539px;
}
.kaisaimae .up {
  margin: 17px auto 11px;
}
.up {
  animation: up 3s ease-out,
  floating-y 0.5s infinite alternate-reverse 1s;
  
  opacity: 1;

/* animation: fadeIn 0.8s 1 normal backwards, */
/* floating-y 1.5s ease-in-out infinite alternate-reverse 1s; */
}
@keyframes up {
  0%, 40%, 60%, 80% { transform: scale(1.0); }
  50%, 70% { transform: scale(0.95); }
  }
@keyframes floating-y {
0% { transform: translateY(-3%); }
100% { transform: translateY(0%); }
}



.poyo02 {
  animation: poyo02 3s ease-out;
  opacity: 1;
  }

.kaisaimae .up img,
.kaisaityu .up img { width: 539px; }


.kaisaimae .pc_flex {
  width: 1000px;
  display: flex;
  justify-content: space-between;
  margin-bottom: 63px;
}
.kaisaimae .pc_flex .pc_flex_con { width: 490px;}
.kaisaimae .pc_flex h3 { width: 490px;}

.kaisaimae .kikan {
  width: 490px;
  height: 132px;
}
.kaisaimae .kikan img { height: 132px; }

.kaisaimae .racetitle {
  width: 470px;
  height: 102px;
  position: relative;
  padding: 15px 10px 15px 18px;
}
.kaisaimae .racetitle .race_con {
  width: 462px;
  height: 32px;
  margin-bottom: 3px;
  display: flex; 
  justify-content: space-between;
}
.kaisaimae .racetitle .race_con .race_L {
  font-size: 22px;
  font-weight: 900;
}
.kaisaimae .racetitle .race_con .race_R {
  width: 140px;
  height: 26px;
  background: #000;
  border-radius: 13px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.kaisaimae .racetitle .race_con .race_R img {
  width: 140px; height: 26px;
}

/* 賞品 */
.kaisaimae .syohin {
  height: 158px;
  text-align: center;
  position: relative;
}
.kaisaimae .syohin .syohin_con{
  display: flex;
  position: relative;
  justify-content: space-between;
}
.kaisaimae .syohin .tyu_syohin img {
  width: 376px;
  height: 158px;
}
.kaisaimae .s_right {
  margin-right: 150px;
  display: flex;
  align-items: flex-end;
  margin-bottom: 25px;
}
.kaisaimae .syohin .yen01 {
  margin-top: 30px;
  width: 222px;
  height: 103px;
  background: url(../images/yen_mae_pc.png) no-repeat center;
  background-size: contain;
}
.kaisaimae .syohin .yen01 img {
  width: 222px; height: 103px;
}

.kaisaimae .syohin .people {
  width: 225px;
  height: 43px;
  font-size: 42px;
  line-height: 40px;
  font-weight: 900;
  background: #CCFF00;
  display: flex;
  align-items: baseline;
  justify-content: center;
}
.kaisaimae .syohin .people span {
  font-size: 24px;
  font-weight: bold;
}

.kaisaimae .syohin .all01 { position: absolute; top: -68px; right: -100px; }
.kaisaimae .syohin .all01 img { width: 270px; height: 188px; }

.kaisaimae .syohin .ribbon { position: absolute; top: -35px; left: -51px; }
.kaisaimae .syohin .ribbon img { width: 149px; height: 146px; }

.kaisaimae .syohin .obi01 { position: absolute; top: -53px; left: -166px; z-index: -1; }
.kaisaimae .syohin .obi01 img { width: 1457px; height: 511px; }


/* 当選者への振込日 */
.syohin,.huri {
  width: 1000px;
}
.kaisaimae .syohin {
  margin-bottom: 40px;
}
.kaisaimae .huri {
  margin-bottom: 17px;
  height: 80px;
}
.kaisaimae .huri img { height: 80px; }

.kaisaimae .huri_p {
  font-size: 16px;
  line-height: 25px;
  font-weight: bold;
  margin-bottom: 73px;
  color: #fff;
  text-align: center;
}






/* 開催中キャンペーン */
.kaisaityu h2 {
  background: url(../images/tyu_h2_pc.svg) no-repeat center;
  background-size: contain;
  width: 1219px;
  height: 265px;
  margin-top: 69px;
  position: relative;
  z-index: 1;
  left: 90px;
}
.kaisaityu .cash {
  position: absolute;
  top: 7px;
  right: 205px;
}
.kaisaityu .cash img { width: 439px;}

.kaisaityu .tit_bg {
  position: absolute;
  top: -169px;
  right: -8px;
  z-index: -1;
}
.kaisaityu .tit_bg img { width: 208px; }

.kaisaityu .tyu_bom01 {
  position: absolute;
  left: -78px;
  bottom: -150px;
  z-index: -1;
}
.kaisaityu .tyu_bom01 img { width: 1920px; }


.kaisaityu .lead {
  height: 113px;
  background: url(../images/lead_bg02_pc.png) no-repeat center;
  position: relative;
  margin-top: 20px;
}

.kaisaityu .giza_p {
  position: absolute;
  top: -49px; left: -70px;
  z-index: -1;
}
.kaisaityu .giza_p img { width: 1133px; }


.kaisaityu .up {
  margin: 20px auto 20px;
}

.kaisaityu .pc_flex {
  width: 1000px;
  display: flex;
  justify-content: space-between;
  margin-bottom: 63px;
}
.kaisaityu .pc_flex .pc_flex_con { width: 490px;}
.kaisaityu .pc_flex h3 { width: 490px;}

.kaisaityu .kikan { width: 490px; height: 90px; position: relative;}
.kaisaityu .kikan img { height: 90px; }

.kaisaityu .sibuki {
  position: absolute;
  top: -40px;
  left: -59px;
}
.kaisaityu .sibuki img { height: 183px; }

.kaisaityu .racetitle {
  height: 90px;
  text-align: center;
}
.kaisaityu .racetitle .race_con {
  display: flex;
}
.kaisaityu .racetitle .race_name img {
  height: 90px;
}

/* 賞品 */
.kaisaityu .syohin_wrap {
  width: 1000px;
  margin-bottom: 28px;
  position: relative;
}
.kaisaityu .syohin01 {
  width: 1000px;
  height: 222px;
  margin-bottom: 28px;
  position: relative;
}
.kaisaityu .syohin02,.kaisaityu .syohin03,
.kaisaityu .syohin04,.kaisaityu .syohin05 {
  width: 490px;
  height: 146px;
  margin-bottom: 28px;
  position: relative;
}
.kaisaityu .syohin_con{
  display: flex;
  position: relative;
  justify-content: space-between;
}
.kaisaityu .syohin01 .s_left img { width: 400px; height: 222px; }
.kaisaityu .syohin02 .s_left img,
.kaisaityu .syohin03 .s_left img,
.kaisaityu .syohin04 .s_left img,
.kaisaityu .syohin05 .s_left img {
  width:160px;
  height: 146px;
}

.kaisaityu .syohin01 .s_right {
  width: 520px;
  margin-right: 30px;
  margin-top: 24px;
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  margin-bottom: 35px;
  }
.kaisaityu .syohin01 .s_right img{ width: 253px; }

.kaisaityu .syohin02 .s_right,
.kaisaityu .syohin03 .s_right,
.kaisaityu .syohin04 .s_right,
.kaisaityu .syohin05 .s_right {
  width: 290px;
  margin-right: 30px;
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  margin-top: 15px;
}
.kaisaityu .syohin01 .s_right .yen01 {
  width: 253px;
}
.kaisaityu .syohin01 .s_right .yen01 img{
  width: 253px;
}
.kaisaityu .syohin02 .s_right .yen02 img,
.kaisaityu .syohin03 .s_right .yen03 img,
.kaisaityu .syohin04 .s_right .yen04 img,
.kaisaityu .syohin05 .s_right .yen05 img {
  width: 135px;
}

.kaisaityu .syohin01 .people {
  width: 255px;
  height: 52px;
  font-size: 49px;
  line-height: 42px;
  margin-top: 5px;
  margin-left: 12px;
}
.kaisaityu .syohin01 .people span {
  font-size: 27px;
}

.kaisaityu .syohin02 .people,
.kaisaityu .syohin03 .people,
.kaisaityu .syohin04 .people,
.kaisaityu .syohin05 .people {
  width: 150px;
  height: 46px;
  font-size: 36px;
  line-height: 38px;
}
.kaisaityu .syohin02 .people span,
.kaisaityu .syohin03 .people span,
.kaisaityu .syohin04 .people span,
.kaisaityu .syohin05 .people span {
  font-size: 23px;
}

.kaisaityu .syohin01 .hukidasi {
  width: 520px;
  height: 55px;
  background: url(../images/huki_a_pc.png) no-repeat center;
  background-size: contain;
  font-size: 24px;
  line-height: 60px;
  margin-top: -2px;
}
.kaisaityu .syohin01 .hukidasi span {font-size: 31px;}

.kaisaityu .syohin02 .hukidasi,
.kaisaityu .syohin03 .hukidasi,
.kaisaityu .syohin04 .hukidasi,
.kaisaityu .syohin05 .hukidasi {
  width: 290px;
  height: 44px;
  background: url(../images/huki_b_pc.png) no-repeat center;
  background-size: contain;
  font-size: 18px;
  line-height: 50px;
  margin-top: -2px;
  margin-bottom: 20px;
}
.kaisaityu .syohin02 .hukidasi span,
.kaisaityu .syohin03 .hukidasi span,
.kaisaityu .syohin04 .hukidasi span,
.kaisaityu .syohin05 .hukidasi span,
.kaisaityu .syohin06 .hukidasi span {
  font-size: 25px;
}

.kaisaityu .obi25 {
  position: absolute;
  top: -2px;
  left: -1px;
}
.kaisaityu .obi25 img {
  width: 52px;
}

/*賞品総額 */
.all_sogaku {
  position: absolute;
  top: -123px;
  right: -250px;
}
.all_sogaku img {
  width: 362px;
}


/* クオカード */
.kaisaityu .syohin06 {
  width: 1000px;
  height: 143px;
  position: relative;
  margin-top: 20px;
}
.kaisaityu .obi06 {
  width: 44px;
  position: absolute;
  top: -1px;
  left: -1px;
}
.kaisaityu .obi06 img {
  width: 44px;
}
.kaisaityu .syohin06 .s_left {
  margin: 40px 0 0 30px;
  text-align: center;
  display: flex;
  align-items: center;
}
.kaisaityu .syohin06 .s_left p {
  font-size: 31px;
  line-height: 38px;
  font-weight: 900;
}

.kaisaityu .syohin06 .people {
  width: 150px;
  height: 58px;
  font-size: 56px;
  line-height: 50px;
  font-weight: 900;
  background: #CCFF00;
  display: flex;
  align-items: baseline;
  justify-content: center;
  margin-top: 5px;
  margin-left: 36px;
}
.kaisaityu .syohin06 .people span {
  font-size: 28px;
  font-weight: bold;
}

.kaisaityu .syohin06 .s_right {
  position: absolute;
  top: -39px;
  right: -7px;
}
.kaisaityu .syohin06 .s_right img{ width: 204px; }

/* 当選発表 */
.kaisaityu .tousen {
  width: 1000px;
  font-size: 18px;
  line-height: 26px;
  margin: 5px auto 60px;
}

.kaisaityu .syohin01 .ribbon { position: absolute; top: -35px; left: -51px; z-index: 1; }
.kaisaityu .syohin01 .ribbon img { width: 149px; height: 146px; }

.kaisaityu .syohin01 .obi01 { position: absolute; top: -62px; left: -186px; z-index: -1; }
.kaisaityu .syohin01 .obi01 img { width: 1591px; height: 933px; }







/* 今すぐエントリー！ */
.entry {
  width: 680px;
  height: 100px;
  border-radius: 50px;
  margin: 0 auto 4px;
  position: relative;

  transition: transform 0.3s ease;

}

.entry:hover {
opacity: 0.8;
/* transform: translateY(3px); */
}


.entry {
  animation: poyo_oubo 3s ease-out infinite;
  /* animation: poyo_oubo 3s ease-out infinite; */
  opacity: 1;
}
@keyframes poyo_oubo {
0%, 40%, 60%, 80% { transform: scale(1.0); }
50%, 70% { transform: scale(0.98); }
}

.kaisaityu .entry {
  margin-bottom: 200px;
}
#mae .entry {
  margin: 0 auto 48px;
}
.entry .naka {
  width: 666px;
  height: 86px;
  border-radius: 43px;
  margin: 5px auto;
  background: #E85298 url(../images/entry_bt_pc.svg) no-repeat center;
  background-size: contain;
}
.entry .naka a img {
  width: 360px;
  height: 70px;
}

.kaisaimae .entry_star {
  position: absolute;
  /* top: -55px;
  left: -160px; */
  bottom: 30px;
  z-index: -1;
}
.kaisaimae .entry_star img{
  width: 1000px;
}



.entry:hover {

}

.all_sogaku {
  animation: poyopoyo 2s ease-out infinite;
  opacity: 1;
}
@keyframes poyopoyo {
  0%, 40%, 60%, 80% {
    transform: scale(1.0);
  }
  50%, 70% {
    transform: scale(0.95);
  }
}


/* header
------------------------------------------------------------*/
#wrapper #header {
  background: none;
  border-bottom: none;
  height: 4.2vw;
}

/* logo */
#wrapper #header h1 {
  width: 13.5%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}
#wrapper #header h1 img {
  height: 100%;
}

/* 開門時間 */
#wrapper #header .kaimon {
  height: 100%;
  padding: 0 1.8vw;
  position: absolute;
  top: 0;
  right: 22%;
}
#wrapper #header .kaimon::before {
  content: "";
  background: #000;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  transform: skewX(-38deg);
  z-index: -1;
}

#wrapper #header .kaimon p {
  color: #fff;
  font-size: 1.4vw;
  font-weight: bold;
  line-height: 4.2vw;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100%;
}
#wrapper #header .kaimon span.time {
  color: #fff;
  font-size: 0.8vw;
  font-weight: bold;
  text-align: left;
  line-height: 1.5;
  display: inline-block;
}
#wrapper #header .kaimon span.time span {
  background: #fff;
  color: #000;
  font-size: 0.8vw;
  font-weight: 900;
  text-align: center;
  line-height: 1.2;
  display: inline-block;
  width: 3.33vw;
  margin-right: 0.4vw;
  padding-bottom: 1px;
  transform: translateY(-1px);
}
#wrapper #header .kaimon span.icn {
  background: #fff;
  clip-path: polygon(0 0, 100% 50%, 0 100%);
  -webkit-clip-path: polygon(0 0, 100% 50%, 0 100%);
  display: inline-block;
  width: 0.26vw;
  height: 0.6vw;
  margin: 0 0.8vw 0 0.4vw;
}

/* 投票ボタン */
#wrapper #header button.tohyo a {
  background: none;
  border: none;
  border-radius: 0px;
  font-size: 1.45vw;
  width: auto;
  height: 100%;
  padding: 0 1.8vw;
  right: 6%;
}
#wrapper #header button.tohyo a::before {
  content: "";
  background: var(--red);
  box-shadow:
  inset 6px 4px 0px 0px rgba(255, 255, 255, 0.5),
  5px 5px 0px 0px rgba(0, 0, 0, 0.5);
  border: 1px solid #000;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  transform: skewX(-38deg);
  z-index: -1;
}
#wrapper #header button.tohyo a span.icn {
  display: inline-block;
  width: 2vw;
  margin-right: 8px;
}
#wrapper #header button.tohyo a span.icn_arrow {
  background: #fff;
  -webkit-mask: url(../images/icon_arrow.svg) center / contain no-repeat;
  mask: url(../images/icon_arrow.svg) center / contain no-repeat;
  display: inline-block;
  width: 1vw;
  height: 1vw;
  margin-left: 12px;
}

/* menu
------------------------------------------------------------*/
.menu[hidden] {
  right: -375px;
}

/* メニューボタン */
.menu-toggle {
  width: 4.2vw;
  height: 4.2vw;
  top: 0.3vw;
  right: 0.7%;
}

.menu-toggle p {
  font-size: 0.73vw;
  align-items: flex-end;
  height: calc(100% - 0.6vw);
  margin-top: auto;
  padding-bottom: 0.6vw;
}

.menu-toggle::before,
.menu-toggle::after {
  width: 1.6vw;
  height: 0.16vw;
}
.menu-toggle::before {
  top: calc(40% - 0.4vw);
}
.menu-toggle::after {
  bottom: calc(60% - 0.4vw);
}

/* メニューアクティブ時　スタイル */
.menu-toggle.cross::before,
.menu-toggle.cross::after {
  background: #fff;
}
.menu-toggle.cross::before {
  transform: translateY(0.34vw) rotate(25.5deg);
}
.menu-toggle.cross::after {
  transform: translateY(-0.34vw) rotate(-25.5deg);
}

.menu-toggle.cross p {
  color: #fff;
}

.menu {
  background: var(--green);
  border-left: 1px solid #000;
  width: 25%;
  top: 0;
  right: 0;
  left: auto;
  overflow-y: visible;
}

/* メニューコンテンツ */
.menu_con_wrap {
  height: calc(100% - 120px);
  min-height: fit-content;
  padding: 60px 0;
}

#menu_con {
  width: 83%;
}

#wrapper #menu_con ul li a {
  color: #fff;
  height: fit-content;
}

#wrapper #menu_con ul.main-menu {
  font-size: 1.5vw;
  margin-bottom: 4.4vw;
}

#wrapper #menu_con ul.main-menu::before {
  background: #fff;
}

#wrapper #menu_con ul.main-menu li {
  margin-bottom: 1.5vw;
}
#wrapper #menu_con ul.main-menu li span.icn {
  width: 1.4vw;
  transform: translateY(2px);
}

#wrapper #menu_con ul.main-menu::before {
  bottom: -2.2vw;
}

#wrapper #menu_con ul.sub-menu {
  font-size: 1.1vw;
}

/* non active スタイル */
#wrapper #menu_con li.no a {
  line-height: 1.2;
}

#wrapper #menu_con li.no a span.day {
  background: #fff;
  color: var(--green);
  font-size: 0.8vw;
  line-height: 1.1vw;
  height: 1.1vw;
  padding: 0 0.3vw;
}

/* footer
------------------------------------------------------------*/
#footer {
  padding-bottom: 1.25vw;
  margin-top: 0;
  position: relative;
  z-index: 1;
}

#footer p.copyright {
  font-size: 0.73vw;
  line-height: 1vw;
}

#footer ul.sns-list {
  width: 18.8%;
  margin: 1.25vw auto;
}

#footer ul.sns-list li {
  width: 2vw;
  height: 2vw;
}
#footer ul.sns-list li img {
  height: 2vw;
}

/* hover
------------------------------------------------------------*/
/* h1 logo */
#wrapper #header h1 a:hover {
  opacity: .5;
}

/* 投票ボタン */
#wrapper #header button.tohyo a span.icn_arrow {
  transition: .3s all;
}
#wrapper #header button.tohyo a:hover {
  filter: brightness(80%);
}
#wrapper #header button.tohyo a:hover span.icn_arrow {
  transform: translateX(0.6vw);
}

#wrapper #menu_con ul.main-menu li a {
  width: fit-content;
  margin: 0 auto;
  position: relative;
}
#wrapper #menu_con ul.main-menu li a::before {
  content: "";
  background: var(--yellow);
  width: 100%;
  height: 100%;
  position: absolute;
  bottom: 0;
  left: 0;
  transform: scale(0, 1);
  transform-origin: left center;
  transition: .2s all;
  z-index: -1;
}
#wrapper #menu_con ul.main-menu li a:hover::before {
  transform: scale(1, 1);
}
#wrapper #menu_con ul.sub-menu li a:hover {
  color: var(--yellow);
}

/* footer */
#footer ul.sns-list li:hover {
  opacity: .5;
}



}


/***********************************************************************
「★SP版 CSS★」ブラウザの幅が750px以下ならここの記述が有効になる
**********************************************************************/
@media only all and (max-width: 400px) {
body {
  font-size: 26px;
  line-height: 1.5;
}
.sp_non {
  display: none !important;
}

#wrapper {
  width: 400px;
  overflow-x: hidden;
  /* padding: 0 30px; */
}

/* ここから電投上 */
.dento_tit {
  width: 100%;
  margin: 0 auto;
  margin-top: 60px;
  background: url(../images/title_bg_sp.png) no-repeat center;
  background-size: contain;
  padding: 18px 0 15px;
}
.dento_tit img { width: 100%; }

.top_lead {
  width: 370px;
  font-size: 16px;
  line-height: 23px;
  padding: 13px 15px 8px;
}
.top_lead span {
  font-weight: 900;
  font-size: 18px;
  position: relative; /* これを追加して擬似要素を調整 */
}
.top_lead span::after {
  content: ''; /* 擬似要素を表示 */
  position: absolute;
  bottom: 0; /* 下線の位置を少し上げる（調整可能） */
  left: 17%;
  width: 65%; /* 下線の長さを指定（例えば80%に設定） */
  height: 2px; /* 下線の太さ */
  background-color: #D7387E; /* 下線の色 */
}
.top_lead span:nth-child(2):after {
  content: ''; /* 擬似要素を表示 */
  position: absolute;
  bottom: 0; /* 下線の位置を少し上げる（調整可能） */
  left: 15%;
  width: 70%; /* 下線の長さを指定（例えば80%に設定） */
  height: 2px; /* 下線の太さ */
  background-color: #FFCC33; /* 下線の色 */
}
.lead_sub {
  font-size: 14px;
  line-height: 18px;
  text-align: left;
  margin: auto;
  padding: 8px 0px 9px 15px;
  margin-bottom: 15px;
}

#wrapper .scroll_bt {
  width: 370px;
  margin: 0 auto 33px;
}
#wrapper .scroll_bt li {
  width: 180px;
  height: 90px;
  border: 2px solid #000;
  border-radius: 13px;
  box-shadow: 2px 2px 0px #000;
  position: relative;
}
#wrapper .scroll_bt li:nth-child(1) { background: #299340; }
#wrapper .scroll_bt li:nth-child(2) { background: #E85298; }

#wrapper .scroll_bt li:nth-child(1) { margin-right: 10px; }

#wrapper .scroll_bt li:nth-child(1) a img {
  position: relative;
  bottom: 9px;
}
#wrapper .scroll_bt li:nth-child(2) a img {
  position: relative;
  bottom: 9px;
}
#wrapper .scroll_bt li .sita {
  position: absolute;
  bottom: -18px;
  width: 180px;
  text-align: center;
}

/* ここから電投下 */
section {
  width: 400px;
}
section h2 {
  width: 400px;
}
section h3 {
  width: 400px;
  font-size: 25px;
  font-weight: 900;
  text-align: center;
  margin-bottom: 5px;
}
.kaisaimae h3 {
  color: #fff;
  text-shadow: 3px 3px 0px #000;
}
.kaisaityu h3 {
  color: #000;
  text-shadow: 3px 3px 0px #fff;
}
.wrap {
  width: 400px;
  font-size: 34px !important;
  position: relative;
}

/* 開催前キャンペーン */
.kaisaimae h2 {
  background: url(../images/mae_h2.svg) no-repeat center;
  background-size: contain;
  height: 141px;
  margin-top: 64px;
  margin-bottom: 16px;
}

.top_ribbon img{ width: 400px; }
.top_ribbon {
  position: absolute;
  top: -43px;
}

.kaisaimae .mae_bom01 img { width: 327.5px; }
.kaisaimae .mae_bom01 {
  position: absolute;
  top: 0;
  right: -206px;
  z-index: -1;
}

.kaisaimae .mae_bom02 img { width: 310px; }
.kaisaimae .mae_bom02 {
  position: absolute;
  top: 432px;
  left: -135px;
  z-index: -1;
}

.kaisaimae .nami img { width: 335px; }
.kaisaimae .nami {
  position: absolute;
  top: 135px;
  right: -77px;
  z-index: -1;
}

.kaisaimae .mae_bg img { width: 389px; }
.kaisaimae .mae_bg {
  position: absolute;
  top: 350px;
  right: 5px;
  z-index: -1;
}

.kaisaimae .lead {
  color: #000;
  width: 370px;
  height: 135px;
  font-size: 16px;
  line-height: 22px;
  font-weight: bold;
  text-align: center;
  background: url(../images/lead_bg01.png) no-repeat center;
  background-size: contain;
  position: relative;
}
.kaisaimae .lead .lead_text,
.kaisaityu .lead .lead_text { padding-top: 30px; }
.kaisaimae .lead .purple,
.kaisaityu .lead .purple { color: #9107E9; font-weight: 900; }
.kaisaimae .lead .gray,
.kaisaityu .lead .gray { color: #4D4D4D; }

.kaisaimae .giza_ye {
  position: absolute;
  top: -39px;
  left: -52px;
  z-index: -1;
}
.kaisaimae .giza_ye img {
  width: 150px;
}

.up { width: 370px; }
.kaisaimae .up { margin: 16px auto 5px; }
.kaisaimae .up img,
.kaisaityu .up img { width: 370px; }

.kikan,.racetitle,.syohin,.huri {
  width: 370px;
  margin-bottom: 15px;
}
.kikan { height: 52px; margin: 0 auto 15px; }
.kikan img { height: 52px; }

.kaisaimae .racetitle {
  width: 348px;
  height: 84px;
  position: relative;
  padding: 14px 10px 14px 12px;
  margin: 0 auto 15px;
}
.kaisaimae .racetitle .race_con {
  width: 348px;
  height: 24px;
  margin-bottom: 6px;
  display: flex; 
  justify-content: space-between;
}
.kaisaimae .racetitle .race_con .race_L {
  font-size: 16px;
  font-weight: 900;
}
.kaisaimae .racetitle .race_con .race_R {
  width: 115px;
  height: 24px;
  background: #000;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.kaisaimae .racetitle .race_con .race_R img {
  width: 115px; height: 24px;
}

.kaisaimae .syohin {
  height: 130px;
  text-align: center;
  position: relative;
}
.kaisaimae .syohin .syohin_con{
  display: flex;
  position: relative;
  justify-content: space-between;
}
.kaisaimae .syohin .tyu_syohin img {
  width: 179px;
  height: 93px;
}
.kaisaimae .s_right {
  margin-right: 35px;
}
.kaisaimae .syohin .yen01 {
  margin-top: 13px;
  width: 128px;
  height: 40px;
  background: url(../images/yen_mae_sp.png) no-repeat center;
  background-size: contain;
}
.kaisaimae .syohin .yen01 img {
  width: 128px; height: 40px;
}

.kaisaimae .syohin .ribbon { position: absolute; top: -28px; left: -15px; }
.kaisaimae .syohin .ribbon img { width: 75px; height: 75px; }

.kaisaimae .syohin .obi01 { position: absolute; top: 0; left: -67px; z-index: -1; }
.kaisaimae .syohin .obi01 img { width: 148px; height: 123px; }

.kaisaimae .syohin .obi02 { position: absolute; top: -48px; right: -78px; z-index: -1; }
.kaisaimae .syohin .obi02 img { width: 238px; height: 98px; }

.kaisaimae .syohin .people {
  width: 128px;
  height: 28px;
  font-size: 25px;
  line-height: 26px;
  font-weight: 900;
  background: #CCFF00;
  margin-top: 5px;
  display: flex;
  align-items: baseline;
  justify-content: center;
}
.kaisaimae .syohin .people span {
  font-size: 14px;
  font-weight: bold;
}

.kaisaimae .syohin .hukidasi {
  width: 330px;
  height: 30px;
  background: url(../images/huki_black_sp.png) no-repeat center;
  background-size: contain;
  margin: 0 auto;
}

.kaisaimae .huri { height: 56px; }
.kaisaimae .huri img { height: 56px; }

.kaisaimae .huri_p {
  font-size: 14px;
  line-height: 20px;
  font-weight: 500;
  margin-bottom: 30px;
  color: #fff;
}


/* 開催中キャンペーン */
.kaisaityu h2 {
  background: url(../images/tyu_h2.svg) no-repeat center;
  background-size: contain;
  height: 128px;
  margin-top: 69px;
  position: relative;
  z-index: 1;
}

.kaisaityu .cash img { width: 234px;}
.kaisaityu .cash {
  position: absolute;
  top: -20px;
  left: 6px;
}

.kaisaityu .tit_bg img { width: 208px; }
.kaisaityu .tit_bg {
  position: absolute;
  top: -169px;
  right: -8px;
  z-index: -1;
}

.kaisaityu .tyu_bom01 img { width: 216.5px; }
.kaisaityu .tyu_bom01 {
  position: absolute;
  top: 262px;
  right: -94px;
  z-index: -1;
}

.kaisaityu .tyu_bom02 img { width: 436.5px; }
.kaisaityu .tyu_bom02 {
  position: absolute;
  top: 1244px;
  left: -264px;
  z-index: -1;
}

.kaisaityu .tyu_bg img { width: 212px; }
.kaisaityu .tyu_bg {
  position: absolute;
  top: 205px;
  left: -110px;
  z-index: -1;
}

.kaisaityu .lead {
  color: #000;
  width: 370px;
  height: 179px;
  font-size: 16px;
  line-height: 22px;
  font-weight: bold;
  text-align: center;
  background: url(../images/lead_bg02.png) no-repeat center;
  background-size: contain;

  animation: fadeIn 0.6s; animation-fill-mode: forwards; animation-delay: 0.4s;  animation: popup 0.6s cubic-bezier(0.22, 1, 0.36, 1);
}

.kaisaityu .up {
  margin: 16px auto 15px;
}


.up {
  animation: popup 0.6s cubic-bezier(0.22, 1, 0.36, 1);
  animation-fill-mode: forwards;
} 

@keyframes popup {
  0% {
  transform: translateY(40px) scale(0.8);
  opacity: 0;
  }
  100% {
  transform: translateY(0) scale(1.0);
  }
  80%, 100% {
  opacity: 1;
  }
}

.kaisaityu .racetitle {
  height: 85px;
  text-align: center;
  margin: 0 auto 15px;
}
.kaisaityu .racetitle .race_name img {
  height: 48px;
  margin-top: 7px;
}
.kaisaityu .racetitle .race_day {
  width: 238px;
  height: 19px;
  background: #E85298 url(../images/race_d04_sp.png) no-repeat center;
  background-size: contain;
  border-radius: 10px;
  margin: 4px auto 0;
}
.kaisaityu .racetitle .race_day img {
  height: 19px;
}

/* 賞品 */
.kaisaityu .syohin_wrap {
  width: 370px;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-bottom: 20px;
}
.kaisaityu .syohin01 {
  width: 370px;
  height: 136px;
  background: #fff;
  border: 2px solid #000;
  box-shadow: 5px 5px 0px #000;
  margin-bottom: 20px;
  position: relative;
}
.kaisaityu .syohin_con{
  display: flex;
  position: relative;
  justify-content: space-between;
}
.kaisaityu .syohin01 .s_left img { width: 195px; height: 103px; }
.kaisaityu .syohin02 .s_left img,
.kaisaityu .syohin03 .s_left img,
.kaisaityu .syohin04 .s_left img,
.kaisaityu .syohin05 .s_left img {
  width: 78px;
  height: 79px;
}

.kaisaityu .syohin01 .s_right {
  width: 128px;
  margin-right: 30px;
  margin-top: 24px;
  }
.kaisaityu .syohin01 .s_right img{ width: 128px; }

.kaisaityu .syohin02 .s_right,
.kaisaityu .syohin03 .s_right,
.kaisaityu .syohin04 .s_right,
.kaisaityu .syohin05 .s_right {
  width: 80px;
  margin-right: 8px;
  }
.kaisaityu .syohin02 .s_right img,
.kaisaityu .syohin03 .s_right img,
.kaisaityu .syohin04 .s_right img,
.kaisaityu .syohin05 .s_right img {
  width: 81px;
}

.kaisaityu .syohin01 .people {
  width: 128px;
  height: 28px;
  font-size: 25px;
  line-height: 26px;
  font-weight: 900;
  background: #CCFF00;
  margin-top: 5px;
  display: flex;
  align-items: baseline;
  justify-content: center;
}
.kaisaityu .syohin01 .people span {
  font-size: 14px;
  font-weight: bold;
}

.kaisaityu .syohin02 .people,
.kaisaityu .syohin03 .people,
.kaisaityu .syohin04 .people,
.kaisaityu .syohin05 .people {
  width: 81px;
  height: 25px;
  font-size: 20px;
  line-height: 26px;
  font-weight: 900;
  background: #CCFF00;
  display: flex;
  align-items: baseline;
  justify-content: center;
}
.kaisaityu .syohin02 .people span,
.kaisaityu .syohin03 .people span,
.kaisaityu .syohin04 .people span,
.kaisaityu .syohin05 .people span {
  font-size: 13px;
  font-weight: bold;
}

.kaisaityu .syohin01 .hukidasi {
  width: 330px;
  height: 27px;
  background: url(../images/huki_a_sp.png) no-repeat center;
  background-size: contain;
  margin: 0 auto;
  font-size: 12px;
  font-weight: bold;
  text-align: center;
  line-height: 29px;
  margin-top: -2px;
}
.kaisaityu .syohin01 .hukidasi span {font-size: 16px;}


.kaisaityu .syohin02 .hukidasi,
.kaisaityu .syohin03 .hukidasi,
.kaisaityu .syohin04 .hukidasi,
.kaisaityu .syohin05 .hukidasi {
  width: 155px;
  height: 25px;
  background: url(../images/huki_b_sp.png) no-repeat center;
  background-size: contain;
  margin: 0 auto;
  font-size: 10px;
  font-weight: bold;
  text-align: center;
  line-height: 29px;
  margin-top: -2px;
}
.kaisaityu .syohin02 .hukidasi span,
.kaisaityu .syohin03 .hukidasi span,
.kaisaityu .syohin04 .hukidasi span,
.kaisaityu .syohin05 .hukidasi span,
.kaisaityu .syohin06 .hukidasi span {
  font-size: 14px;
}

.kaisaityu .syohin01 .ribbon { position: absolute; top: -28px; left: -15px; }
.kaisaityu .syohin01 .ribbon img { width: 75px; height: 75px; }

.kaisaityu .syohin01 .obi01 { position: absolute; top: 0; left: -67px; z-index: -1; }
.kaisaityu .syohin01 .obi01 img { width: 148px; height: 123px; }

.kaisaityu .syohin01 .obi02 { position: absolute; top: -48px; right: -78px; z-index: -1; }
.kaisaityu .syohin01 .obi02 img { width: 238px; height: 98px; }

.kaisaityu .syohin02,.kaisaityu .syohin03,
.kaisaityu .syohin04,.kaisaityu .syohin05 {
  width: 175px;
  height: 110px;
  background: #fff;
  border: 2px solid #000;
  box-shadow: 5px 5px 0px #000;
  margin-bottom: 20px;
  position: relative;
}

.kaisaityu .obi25 {
  width: 34px;
  position: absolute;
  top: -1px;
  left: -1px;
}
.kaisaityu .obi25 img {
  width: 34px;
}

/*賞品総額 */
.all_sogaku {
  width: 370px;
  margin: -10px auto 22px;
}
.all_sogaku img {
  width: 370px;
}


/* クオカード */
.kaisaityu .syohin06 {
  width: 370px;
  height: 106px;
  background: #fff;
  border: 2px solid #000;
  box-shadow: 5px 5px 0px #000;
  position: relative;
}
.kaisaityu .obi06 {
  width: 44px;
  position: absolute;
  top: -1px;
  left: -1px;
}
.kaisaityu .obi06 img {
  width: 44px;
}
.kaisaityu .syohin06 .s_left {
  margin: 13px 0 0 40px;
  text-align: center;
}
.kaisaityu .syohin06 .s_left p {
  font-size: 17px;
  line-height: 21px;
  font-weight: 900;
}

.kaisaityu .syohin06 .people {
  width: 81px;
  height: 32px;
  font-size: 30px;
  line-height: 28px;
  font-weight: 900;
  background: #CCFF00;
  display: flex;
  align-items: baseline;
  justify-content: center;
  margin-top: 5px;
  margin-left: 36px;
}
.kaisaityu .syohin06 .people span {
  font-size: 15px;
  font-weight: bold;
}

.kaisaityu .syohin06 .s_right {
  position: absolute;
  top: -20px;
  right: 0;
}
.kaisaityu .syohin06 .s_right img{ width: 160px; }


.kaisaityu .tousen {
  width: 370px;
  color: #000;
  font-size: 14px;
  line-height: 20px;
  font-weight: bold;
  text-align: center;
  margin: 5px auto 40px;
}

/* 今すぐエントリー！ */
.entry {
  width: 370px;
  height: 80px;
  border-radius: 40px;
  margin: 0 auto 4px;
}

.entry {
  animation: poyo_oubo 3s ease-out infinite;
  opacity: 1;
  }
  @keyframes poyo_oubo {
  0%, 40%, 60%, 80% { transform: scale(1.0); }
  50%, 70% { transform: scale(0.95); }
  }

.kaisaityu .entry {
  margin-bottom: 45px;
}
#mae .entry {
  margin: 0 auto 48px;
}
.entry .naka {
  width: 356px;
  height: 66px;
  border-radius: 35px;
  margin: 5px auto;
  background: #E85298 url(../images/entry_bt_sp.svg) no-repeat center;
  background-size: contain;
}
.entry .naka a img {
  width: 360px;
  height: 70px;
}


}

/*　/SP版 CSS　*/


/***********************************************************************
keyframe
**********************************************************************/

.title .square.mov {
  animation: scale 1.2s ease-out infinite; animation-fill-mode: initial;
  transform-origin: center !important;
}

.title .square.mov:nth-child(1) {animation-delay: 0.3s;}
.title .square.mov:nth-child(2) {animation-delay: 0.1s;}
.title .square.mov:nth-child(3) {animation-delay: 0.5s;}
.title .square.mov:nth-child(5) {animation-delay: 0.2s;}
.title .square.mov:nth-child(5) {animation-delay: 0.4s;}
.title .square.mov:nth-child(7) {animation-delay: 0.5s;}
.title .square.mov:nth-child(8) {animation-delay: 0.3s;}
.title .square.mov:nth-child(9) {animation-delay: 0.1s;}

@keyframes scale {
  0% {
    transform: scale(0.2);
  }
  70%,100% {
    transform: scale(1);
  }
  0% {
    opacity: 0;
  }
  20%,100% {
    opacity: 1;
  }
}

.joken .naiyou.mov, .hyo ul.mov:last-child { animation: fadeIn 0.6s; animation-fill-mode: forwards; animation-delay: 0.4s;}
.joken .naiyou:last-child {animation-delay: 0.8s;}

@keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}


@keyframes popup {
	0% {
	transform: translateY(40px) scale(0.8);
	opacity: 0;
	}
	100% {
	transform: translateY(0) scale(1.0);
	}
	80%, 100% {
	opacity: 1;
	}
}

.arrow .arrow_bg.mov { animation: arrow 0.75s ease-in-out; animation-fill-mode: forwards; animation-delay: 0.7s;}
.arrow:nth-child(2) .arrow_bg {animation-delay: 0.5s;}
.arrow .txt.mov { animation: slideIn 0.5s ease-in-out; animation-fill-mode: forwards; animation-delay: 1.2s;}
.arrow:nth-child(2) .txt {animation-delay: 1s;}


@keyframes arrow {
  0% {
    transform: scaleX(0);
  }
  100% {
    transform: scaleX(1);
  }
  20%,100%{
    opacity: 1;
  }
}

@keyframes slideIn{
  0% {
    transform: translateX(-150px);
  }
  100% {
    transform: translateX(0px);
  }
  0% {
    opacity: 0;
  }
  50%,100%{
    opacity: 1;
  }
}


.all01 {
  animation: poyopoyo 2s ease-out infinite;
  opacity: 1;
}
@keyframes poyopoyo {
  0%, 40%, 60%, 80% {
    transform: scale(1.0);
  }
  50%, 70% {
    transform: scale(0.95);
  }
}



.cash {
  animation: migikara 0.5s cubic-bezier(0.25, 1, 0.5, 1) forwards;
}
 
@keyframes migikara {
  0% {
    transform: translateX(180px);
    opacity: 0;
  }
  100% {
    transform: translateX(0);
  }
  40%,100% {
    opacity: 1;
  }
}