@charset "UTF-8";
h1,
h2,
h3,
h4,
h5,
h6,
header,
footer,
section,
article,
nav,
p,
figure,
figcaption,
dl,
dt,
dd,
ul,
ol,
li,
th,
td,
img,
address,
form,
input,
textarea,
select,
option,
span,
small,
time {
  font-size: 1.2rem;
  font-weight: 600;
}
br.narrow {
  display: none;
}
body {
  position: relative;
  background: url("../../img/w_img/bodyBg.png") no-repeat top center fixed;
  overflow-x: hidden;
}
body::before,
body::after {
  content: "";
  position: fixed;
  top: 0;
  bottom: 0;
  width: 120px;
  background-repeat: repeat-y;
  z-index: -1;
  pointer-events: none;
}
body::before {
  left: 0;
  background-image: url("../../img/w_img/bodyBg_sub.png");
  animation: scroll-left-bg 50s linear infinite;
}
body::after {
  right: 0;
  background-image: url("../../img/w_img/bodyBg_sub.png");
  animation: scroll-right-bg 50s linear infinite;
}
@keyframes scroll-left-bg {
  from {
    background-position: 0 0;
  }
  to {
    background-position: 0 100%;
  }
}
@keyframes scroll-right-bg {
  from {
    background-position: 0 0;
  }
  to {
    background-position: 0 100%;
  }
}
header {
  text-align: center;
}
header .head_wrap {
  padding: 3vh 1.5vw;
  position: relative;
  background-image: linear-gradient(#000000 60% 1%, rgba(0, 0, 0, 0) 100%);
}
header .head_wrap .site_logo {
  margin-left: 1vw;
  width: 150px;
}
header .head_wrap .site_logo img {
  width: 100%;
  height: auto;
}
header .head_wrap .head_nav {
  margin-right: 1vw;
}
header .head_wrap .head_nav li {
  margin-left: 1vw;
  width: 60px;
}
header .head_wrap .head_nav li img {
  width: 100%;
  height: auto;
}
header .head_wrap .head_nav .mailIcon span {
  top: -0.5vh;
  right: -0.5vw;
}
header .head_wrap #navMenu {
  width: 400px;
  min-height: 87%;
}
header .head_wrap #navMenu h1 {
  margin: 30px 0 10px 10px;
  width: 150px;
}
header .head_wrap #navMenu h1 img {
  width: 100%;
  height: auto;
}
header .head_wrap #navMenu dl.slide_contents {
  padding: 10px;
}
header .head_wrap #navMenu dl.slide_contents dt.menu_caption {
  margin-bottom: 10px;
  padding: 10px 0;
}
header .head_wrap #navMenu dl.slide_contents dd.user_info {
  margin-bottom: 10px;
}
header .head_wrap #navMenu dl.slide_contents dd.user_info dl.user_details * {
  font-size: 1rem;
}
header .head_wrap #navMenu dl.slide_contents dd.user_info dl.user_details dt,
header .head_wrap #navMenu dl.slide_contents dd.user_info dl.user_details dd {
  margin-bottom: 10px;
  padding: 10px 0;
}
header .head_wrap #navMenu dl.slide_contents dd.contact_details {
  margin-bottom: 20px;
}
header .head_wrap #navMenu dl.slide_contents dd.contact_details .contact_btn_area li {
  margin-bottom: 10px;
  font-size: 18px;
}
header .head_wrap #navMenu dl.slide_contents dd.contact_details .contact_btn_area .miniBtn {
  padding: 2% 4%;
  font-size: 20px;
}
header .head_wrap #navMenu dl.slide_contents dd.contact_details .memo {
  font-size: 14px;
  text-align: center;
}
header .head_wrap #navMenu dl.slide_contents dd.contact_details .memo span {
  font-size: 14px;
}
header .head_wrap #navMenu dl.slide_contents dd.gloval_nav ul.contents_menu {
  gap: 10px;
}
header .head_wrap #navMenu dl.slide_contents dd.gloval_nav ul.contents_menu li {
  padding: 5% 0;
  font-size: 1rem;
}
header .userData {
  padding: 5px 20px 10px;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
}
header .userData li {
  margin: 0 10px;
}
header .userData li * {
  font-size: 1rem;
}
.fixed_nav ul {
  padding-bottom: 15px;
  width: 630px;
}
.fixed_nav ul a img {
  width: 100%;
  height: auto;
}
footer {
  padding-bottom: 150px;
}
footer .wrap p.pageTop {
  padding: 0 20px 10px 20px;
  top: -35px;
  width: 140px;
}
footer .wrap p.pageTop img {
  width: 100%;
  height: auto;
}
footer .wrap .gloval_nav {
  margin: 0 auto;
  width: 900px;
  padding: 40px 0;
}
footer .wrap .gloval_nav li {
  margin: 0 10px 10px;
}
footer .wrap .gloval_nav li a {
  font-size: 1.1rem;
}
footer .wrap .gloval_nav li a:hover {
  color: #83fff9;
  text-decoration: underline;
}
footer .wrap .caution {
  margin-bottom: 60px;
  padding: 30px 0;
}
footer .wrap .caution li {
  margin-bottom: 10px;
  font-size: 1rem;
}
footer .wrap .siteLogo {
  margin: 0 auto 20px;
  width: 180px;
}
footer .wrap .siteLogo img {
  width: 100%;
  height: auto;
}
footer .wrap .copyright {
  font-size: 0.9rem;
}
.w_contentsWrap {
  padding: 150px 0 200px;
}
.todaysRace ul li:hover,
dd.gloval_nav ul.contents_menu li:hover,
.pr_banner li:hover,
.fixed_nav li:hover,
.commonBtn:hover {
  opacity: 0.7;
  transition: opacity 0.3s;
}
.noClick {
  pointer-events: none;
}
.mainCaption {
  margin-bottom: 50px;
  padding-bottom: 30px;
  font-size: 3.5rem;
}
/* 下に表示する画像 */
.mainCaption::after {
  width: 365px;
  height: 15px;
}
.roundCaption {
  padding: 10px 40px;
  font-size: 1.5rem;
}
.simpleCaption {
  font-size: 1.8rem;
}
.commonCaption {
  padding: 10px 0;
  font-size: 1.6rem;
}
.commonBtn.small {
  padding: 5px 20px;
}
.commonBtn.small::before {
  top: -3px;
  width: 25px;
  height: 25px;
}
.commonBtn.middle {
  padding: 10px 30px;
  font-size: 1.5rem;
}
.commonBtn.middle::before {
  top: -3px;
  width: 30px;
  height: 30px;
}
.commonBtn.large {
  padding: 15px 35px;
  display: inline-block;
  font-size: 2rem;
  font-weight: 900;
}
.commonBtn.large::before {
  top: -4px;
  width: 40px;
  height: 40px;
}
button.arrow::before,
button.file::before,
button.cart::before {
  margin-right: 0.4em;
}
.btnArea {
  gap: 30px;
}
.item_section .item_details {
  margin: 0 auto 30px;
  padding: 30px;
  width: 900px;
}
.item_section .item_details .btnArea,
.item_section .item_details .freetext,
.item_section .item_details .simpleCaption,
.item_section .item_details .item_banner {
  margin-bottom: 30px;
}
.item_section .item_details .freetext {
  padding: 30px;
}
.item_section .item_details .reserve_list li {
  padding: 2%;
}
.item_section .item_details .reserve_list li label p.name input {
  margin-right: 1vw;
}
.item_section .item_details .item_banner img {
  width: 100%;
  height: auto;
}
.item_section .item_details .freetext {
  font-size: 1.5rem;
}
.resultProf figure img {
  width: 100%;
  height: auto;
}
.resultProf dl dt {
  font-size: 1.5rem;
}
.resultProf dl .raceDate {
  font-size: 1rem;
}
.resultProf dl .raceProf {
  padding: 5px 0;
  font-size: 1rem;
}
.resultProf dl .amount {
  padding: 2% 0 2% 5%;
  background-size: 24% auto;
  font-size: 2.3rem;
  text-align: left;
}
.resultProf dl .amount span {
  font-size: 1.3rem;
}
.gridResult {
  width: 1000px;
  gap: 30px;
}
.gridResult .resultProf {
  width: 310px;
}
.sliderResult {
  padding: 50px 0;
}
.contactSection {
  margin: 100px auto 0;
  padding: 30px 0;
  width: 900px;
}
.contactSection .mainCaption {
  margin-bottom: 30px;
}
.contactSection .contactDetails {
  padding: 2%;
  padding-bottom: 0;
  width: 90%;
}
.contactSection .contactDetails .btn_area {
  margin-bottom: 30px;
  align-content: center;
}
.contactSection .contactDetails .btn_area li {
  align-content: center;
  height: 80px;
}
.contactSection .contactDetails .btn_area span {
  display: block;
  font-size: 1rem;
}
.common_table th {
  padding: 1vh 0;
  width: 30%;
}
.common_table td {
  padding: 1vh 0;
  padding-left: 1vw;
}
.common_table td span {
  font-size: 14px;
}
.talkThread li figure.icon {
  width: 12%;
}
.talkThread li figure.icon img {
  width: 100%;
  height: auto;
}
.talkThread li .talk_details {
  padding: 2%;
  max-width: 70%;
  line-height: 1.5em;
}
.talkThread li .talk_details::after {
  top: 30%;
}
.talkThread .send {
  margin-bottom: 30px;
}
.talkThread .send figure.icon {
  margin-left: 3%;
}
.talkThread .reception {
  margin-bottom: 30px;
}
.talkThread .reception figure.icon {
  margin-right: 3%;
}
.page_flow {
  margin-bottom: 5vh;
}
.page_flow li {
  margin-right: 1.8vw;
  font-size: 1.2rem;
}
.page_flow li::after {
  right: -3vh;
}
.form_section {
  margin: 0 auto;
  padding: 30px;
  width: 900px;
}
.form_section .common_caption {
  margin-bottom: 2vh;
}
.form_section #errmsg {
  margin-top: 20px;
}
.form_section .form_box {
  text-align: left;
}
.form_section .form_box dt {
  margin-bottom: 20px;
}
.form_section .form_box dt span {
  font-size: 14px;
}
.form_section .form_box dd {
  margin-bottom: 20px;
}
.form_section .form_box dd textarea,
.form_section .form_box dd input[type="email"],
.form_section .form_box dd input[type="number"],
.form_section .form_box dd input[type="text"] {
  padding: 1%;
  font-size: 20px;
}
.form_section .form_box dd textarea {
  min-height: 20vh;
}
.form_section .form_box dd.em {
  font-size: 1.3rem;
}
.form_section .form_box .submit {
  margin-top: 30px;
}
.form_section .form_box select {
  padding: 1.5%;
  font-size: 1.3rem;
}
.comp_section {
  margin: 0 auto 5vh;
  padding: 30px;
  width: 900px;
}
.comp_section .text {
  margin-bottom: 5vh;
}
dl.rule_section {
  margin-bottom: 5vh;
  padding: 30px;
  width: 900px;
}
dl.rule_section dt {
  margin-bottom: 1.5vh;
  font-size: 1.3rem;
}
dl.rule_section dd {
  margin-bottom: 3vh;
  font-size: 1rem;
}
dl.rule_section dd ul {
  margin-top: 1vh;
}
dl.rule_section dd ul li {
  font-size: 1rem;
}
.commonBg {
  padding: 30px;
  width: 900px;
}
.todaysRace .todaysRace_list {
  padding: 30px;
  gap: 30px;
  width: 900px;
}
.todaysRace .todaysRace_list li {
  padding: 10px;
  width: 260px;
}
.todaysRace .todaysRace_list li .raceIcon li {
  width: 25px;
}
.todaysRace .todaysRace_list li .raceIcon li img {
  width: 100%;
  height: auto;
}
.todaysRace .todaysRace_list li .raceSchedule {
  margin-top: 10px;
  padding: 5px 0;
}
.contentsList {
  margin: 100px 0 50px;
}
.contentsList ul {
  width: 900px;
}
.contentsList ul li {
  margin-bottom: 30px;
  padding: 20px;
  width: 435px;
}
.contentsList ul li figure {
  margin-bottom: 20px;
}
.contentsList ul li figure img {
  width: 100%;
  height: auto;
}
.selectPlan {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 30px;
}
.selectPlan li {
  padding: 20px;
}
.selectPlan li dl dt {
  margin-bottom: 20px;
}
.selectPlan li dl dd {
  width: 100%;
}
.selectPlan li:nth-last-child(-n+2) {
  margin-bottom: 0;
}
.selectPlan:has( > :nth-child(2)) {
  grid-template-columns: repeat(2, 1fr);
}
.selectPlan:not(:has( > :nth-child(2))) {
  grid-template-columns: 1fr;
  /* ← 子が1個のときだけ1列 */
}
.w_contentsWrap.index .event,
.w_contentsWrap.index .item_section,
.w_contentsWrap.index .sliderResult {
  margin-bottom: 100px;
}
.w_contentsWrap.index .event {
  margin: 0 auto 100px;
  width: 900px;
}
.w_contentsWrap.index .event ul li {
  margin-bottom: 40px;
}
.w_contentsWrap.index .event ul li img {
  width: 100%;
  height: auto;
}
.w_cmp {
  padding: 150px 0;
}
.w_cmp .cmp_overview,
.w_cmp .cmp_details {
  margin: 0 auto 100px;
  padding: 30px;
  width: 900px;
}
.w_cmp .cmp_details figure {
  margin-bottom: 30px;
}
.w_cmp .cmp_details figure img {
  width: 100%;
  height: auto;
}
.w_cmp .cmp_details .cmp_freetext {
  margin-bottom: 30px;
  padding: 20px;
}
.w_cmp .cmp_details .cmp_attention {
  padding: 20px;
}
.w_cmp .cmp_details .cmp_attention dt {
  margin-bottom: 20px;
  padding-bottom: 20px;
  font-size: 1.8rem;
}
.w_cmp .cmp_details .cmp_attention dd {
  font-size: 1.4rem;
}
.w_cmp .sliderResult {
  margin-bottom: 100px;
}
.w_cmp .cmp_overview .commonCaption {
  margin-bottom: 30px;
}
.w_cmp .cmp_overview .common_table {
  margin-bottom: 30px;
}
.w_cmp .cmp_overview .selectPlan {
  margin-bottom: 30px;
}
.w_contentsWrap.contact .commonCaption {
  margin-bottom: 3vh;
}
.w_contentsWrap.contact .form_box .commonCaption {
  margin-bottom: 20px;
}
.w_contentsWrap.contact .form_box .submit {
  margin-bottom: 0;
}
.w_contentsWrap.contact .form_box .submit button {
  margin: 0 1vw;
}
.w_contentsWrap.login {
  padding-top: 180px;
}
.w_contentsWrap.regist h2 {
  margin-bottom: 30px;
}
.w_contentsWrap.regist h2 img {
  width: 100%;
  height: auto;
}
.w_contentsWrap.regist .form_box {
  margin-top: 30px;
}
.w_contentsWrap.regist .form_box dt {
  margin-bottom: 20px;
}
.w_contentsWrap.regist .caution {
  margin: 0 auto 3vh;
  padding: 2%;
}
.w_contentsWrap.regist .caution dt {
  margin-bottom: 20px;
  font-size: 1.6rem;
}
.w_contentsWrap.regist .userAcount {
  margin-bottom: 3vh;
  padding: 2%;
}
.w_contentsWrap.regist .text {
  margin-bottom: 3vh;
}
.w_contentsWrap.forget {
  padding-top: 180px;
}
.w_contentsWrap.forget .commonCaption {
  margin-bottom: 3vh;
}
.w_contentsWrap.forget .text {
  margin-bottom: 0;
}
.w_contentsWrap.forget .form_box {
  margin: 2vh 0 0;
}
.w_contentsWrap.forget .form_box dd.text {
  font-size: 1rem;
  line-height: 160%;
}
.w_contentsWrap.outline .common_table * {
  font-size: 1.1rem;
}
.w_contentsWrap.outline .common_table td {
  padding-right: 1vw;
}
.w_contentsWrap.mypage .form_section {
  margin-bottom: 50px;
  width: 900px;
}
.w_contentsWrap.mypage .form_section li {
  margin-bottom: 50px;
}
.w_contentsWrap.mypage .form_section li .commonCaption {
  margin-bottom: 20px;
}
.w_contentsWrap.mypage .pr_banner {
  margin: 0 auto 5vh;
  width: 900px;
  gap: 30px;
}
.w_contentsWrap.mypage .pr_banner li img {
  width: 100%;
  height: auto;
}
.w_contentsWrap.mypage .comp_section .commonCaption {
  margin-bottom: 20px;
}
.w_contentsWrap.voice .commonCaption {
  margin-bottom: 30px;
}
.w_contentsWrap.voice .commonBg {
  margin-bottom: 50px;
}
.w_contentsWrap.voice .commonBg .voiceList {
  margin: 30px 0;
}
.w_contentsWrap.voice .commonBg .voiceList li {
  margin-bottom: 30px;
  padding: 20px;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.w_contentsWrap.voice .commonBg .voiceList li figure {
  width: 140px;
}
.w_contentsWrap.voice .commonBg .voiceList li figure img {
  width: 100%;
  height: auto;
}
.w_contentsWrap.voice .commonBg .voiceList li figure figcaption {
  margin-top: 5px;
  font-size: 1rem;
}
.w_contentsWrap.voice .commonBg .voiceList li figure figcaption time {
  font-size: 0.8rem;
}
.w_contentsWrap.voice .commonBg .voiceList li dl {
  width: 640px;
}
.w_contentsWrap.voice .commonBg .voiceList li dl dt {
  margin-bottom: 10px;
  padding-bottom: 10px;
  font-size: 1.5rem;
}
.w_contentsWrap.voice .commonBg .voiceList li dl .text {
  font-size: 1.1rem;
}
.w_contentsWrap.voice .commonBg .voiceList li dl .good {
  margin-top: 10px;
}
.w_contentsWrap.voice .commonBg .voiceList li dl .good button {
  padding: 8px 15px;
  font-size: 1rem;
}
.w_contentsWrap.voice .commonBg .voiceList li dl .good button::before {
  top: -2px;
  left: -5px;
  width: 20px;
  height: 20px;
}
.w_contentsWrap.voice .form_section {
  background-color: rgba(255, 0, 0, 0.5);
}
.w_contentsWrap.voice .form_section .submit {
  margin-bottom: 0;
}
.w_contentsWrap.chat .text {
  margin-bottom: 50px;
}
.w_contentsWrap.chat .chatSection {
  margin: 0 auto 50px;
  padding: 30px;
  width: 900px;
}
.w_contentsWrap.chat .chatSection .commonCaption {
  margin-bottom: 30px;
}
.w_contentsWrap.chat .sendform {
  padding: 2%;
  width: 1000px;
}
.w_contentsWrap.chat .sendform img {
  width: 100%;
  height: auto;
}
.w_contentsWrap.chat .sendform label {
  width: 7%;
}
.w_contentsWrap.chat .sendform .textfield {
  margin: 0 2%;
  width: 81%;
}
.w_contentsWrap.chat .sendform .textfield textarea {
  padding: 1%;
}
.w_contentsWrap.chat .sendform .send_btn {
  width: 7%;
}
.w_contentsWrap.result .gridResult {
  margin-top: 30px;
  margin-bottom: 30px;
}
.w_contentsWrap.result .resultSummary {
  margin: 30px 0;
}
.w_contentsWrap.result .commonBtn.large {
  margin: 0 auto;
  width: 900px;
}
.w_contentsWrap.result .contactSection {
  margin-top: 100px;
}
.w_contentsWrap.purchase .item_section {
  margin-bottom: 5vh;
}
.w_contentsWrap.purchase .item_section .commonCaption {
  margin-bottom: 2vh;
}
.w_contentsWrap.purchase .item_section .item_details .reserve_list,
.w_contentsWrap.purchase .item_section .item_details .text {
  margin-bottom: 3vh;
}
.w_contentsWrap.purchase .item_section .item_details .select_details {
  display: flex;
  flex-wrap: wrap;
}
.w_contentsWrap.purchase .item_section .item_details .select_details dl {
  width: 48.5%;
}
.w_contentsWrap.purchase .item_section .item_details .select_details dl dt {
  margin-bottom: 2vh;
}
.w_contentsWrap.purchase .item_section .item_details .simpleCaption {
  margin-bottom: 3vh;
  padding-bottom: 2vh;
}
.w_contentsWrap.purchase .item_section .item_details .roundCaption {
  margin-bottom: 2vh;
}
.w_contentsWrap.purchase .item_section .item_details .text:nth-of-type(2) {
  margin-top: 3vh;
}
.w_contentsWrap.purchase .item_section .item_details .reserve_list li {
  margin-bottom: 2vh;
}
.w_contentsWrap.purchase .item_section .item_details .reserve_list li label p.amount {
  display: inline-block;
  font-size: 1.8rem;
}
.w_contentsWrap.purchase .amount {
  margin-bottom: 20px;
}
.w_contentsWrap.purchase .amount * {
  color: #f00;
  font-weight: 900;
}
.w_contentsWrap.purchase .amount dt {
  font-size: 2rem;
}
.w_contentsWrap.purchase .amount dd {
  font-size: 3rem;
}
.w_contentsWrap.item .itemCaution {
  margin: 0 auto 30px;
  padding: 1%;
  width: 900px;
}
.w_contentsWrap.item .item_section .no_item .text {
  margin-bottom: 3vh;
}
