@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: 1rem;
  font-weight: 600;
}
br.wide {
  display: none;
}
img {
  width: 100%;
  height: auto;
}
input[type="text"],
input[type="password"] {
  padding: 3vw 1vw;
}
/* 固定背景レイヤー（下に敷く） */
.sp-bg {
  position: fixed;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background-color: #000;
  /* 縦足りない部分の馴染ませ用 */
}
/* 実際の背景画像レイヤー */
.sp-bg::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 0;
  transform: translateX(-50%);
  width: 155vw;
  /* ← background-size:170% auto を完全再現 */
  height: auto;
  aspect-ratio: 1080 / 1028;
  /* ← 元画像比率のまま */
  background: url("../../img/w_img/bodyBg_narrow.png") no-repeat center top;
  background-size: 100% auto;
  /* ← 実際の比率はwidthで指定するので100% */
}
header {
  text-align: left;
}
header .head_wrap {
  padding: 3vw;
  background-color: rgba(0, 0, 0, 0.8);
}
header .head_wrap .site_logo {
  width: 25vw;
}
header .head_wrap .head_nav li {
  margin-left: 2vw;
  width: 11vw;
}
header .head_wrap .head_nav .mailIcon span {
  top: -1vw;
  right: -1vw;
}
header .head_wrap #Icon,
header .head_wrap #menuIcon {
  width: 11vw;
}
header .head_wrap #navMenu {
  width: 100vw;
  height: calc(var(--vh, 1vh) * 100);
  border-radius: 0;
}
header .head_wrap #navMenu h1 {
  padding: 3vw;
  width: 30vw;
}
header .head_wrap #navMenu dl.slide_contents {
  padding: 0 3vw 3vw 3vw;
}
header .head_wrap #navMenu dl.slide_contents dt.menu_caption {
  margin-bottom: 2vw;
  padding: 2vw 0;
  font-size: 1rem;
}
header .head_wrap #navMenu dl.slide_contents dd.user_info {
  padding: 2vw 0;
}
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 {
  margin-bottom: 2vw;
  padding: 2vw;
}
header .head_wrap #navMenu dl.slide_contents dd.user_info dl.user_details dd {
  margin-bottom: 2vw;
  padding: 2vw;
}
header .head_wrap #navMenu dl.slide_contents dd.contact_details {
  padding-bottom: 3%;
}
header .head_wrap #navMenu dl.slide_contents dd.contact_details .contact_btn_area li {
  margin: 2% 0;
  font-size: 1rem;
}
header .head_wrap #navMenu dl.slide_contents dd.contact_details .contact_btn_area .text_list {
  font-size: 1.1rem;
}
header .head_wrap #navMenu dl.slide_contents dd.contact_details .memo {
  font-size: 0.8rem;
}
header .head_wrap #navMenu dl.slide_contents dd.contact_details .memo span {
  font-size: inherit;
}
header .head_wrap #navMenu dl.slide_contents dd.gloval_nav ul.contents_menu {
  gap: 2vw;
}
header .head_wrap #navMenu dl.slide_contents dd.gloval_nav ul.contents_menu li {
  padding: 2vw 0;
}
header .userData {
  padding: 0.5vw 0;
  width: 100vw;
}
header .userData li {
  margin: 0 1vw;
}
header .userData li dl dt {
  font-size: 0.8rem;
}
header .userData li dl dd {
  font-size: 0.9rem;
}
footer {
  padding: 3vh 2vw 11vh 2vw;
}
footer .wrap p.pageTop {
  padding: 0.5vw 3vw;
  top: -5vw;
  width: 30vw;
}
footer .wrap .gloval_nav {
  margin-bottom: 4vw;
}
footer .wrap .gloval_nav li {
  margin-right: 1vw;
  margin-bottom: 1vw;
  font-size: 1rem;
}
footer .wrap .caution {
  margin: 0 auto 6vw;
  padding: 3vw 0;
  width: 90vw;
}
footer .wrap .caution li {
  margin-bottom: 2vw;
  font-size: 0.9rem;
}
footer .wrap .siteLogo {
  margin: 0 auto 2vw;
  width: 30vw;
}
footer .wrap .copyright {
  font-size: 0.8rem;
}
.fixed_nav ul {
  padding-bottom: 2vw;
  width: 100vw;
}
.w_contentsWrap {
  padding: 30vw 0 18vw;
}
.mainCaption {
  margin-bottom: 8vw;
  padding-bottom: 3vw;
  font-size: 2rem;
}
/* 下に表示する画像 */
.mainCaption::after {
  width: 50vw;
  height: 2vw;
}
.roundCaption {
  padding: 2vw 4vw;
  font-size: 1.2rem;
}
.simpleCaption {
  font-size: 1.2rem;
}
.commonCaption {
  padding: 2vw 0;
  font-size: 1.2rem;
}
.commonBtn.small {
  padding: 2vw 4vw;
}
.commonBtn.small::before {
  top: -0.5vw;
  width: 5vw;
  height: 5vw;
}
.commonBtn.middle {
  padding: 2vw 4vw;
  font-size: 1.2rem;
}
.commonBtn.middle::before {
  top: -0.5vw;
  width: 6vw;
  height: 6vw;
}
.commonBtn.large {
  padding: 2vw 4vw;
  display: inline-block;
  font-size: 1.4rem;
  font-weight: 900;
}
.commonBtn.large::before {
  top: -1vw;
  width: 7vw;
  height: 7vw;
}
button.arrow::before,
button.file::before,
button.cart::before {
  margin-right: 0.5vw;
}
.btnArea {
  gap: 3vw;
}
.item_section .item_details {
  margin: 0 auto 5vw;
  padding: 3vw;
  width: 94vw;
}
.item_section .item_details .btnArea,
.item_section .item_details .freetext,
.item_section .item_details .simpleCaption,
.item_section .item_details .item_banner {
  margin-bottom: 3vw;
}
.item_section .item_details .freetext {
  padding: 3vw;
  font-size: 1.2rem;
}
.item_section .item_details .reserve_list li {
  padding: 3vw;
}
.item_section .item_details .reserve_list li label p.name input {
  margin-right: 1vw;
}
.item_section .item_details .selectPlan li {
  margin-bottom: 3vw;
  padding: 3vw;
}
.item_section .item_details .selectPlan li dl dt {
  margin-bottom: 3vw;
}
.item_section .item_details .selectPlan li dl dt strong {
  font-size: 1.2rem;
}
.item_section .item_details .selectPlan li:nth-last-of-type(1) {
  margin-bottom: 0;
}
.resultProf dl dt {
  font-size: 1rem;
}
.resultProf dl .raceDate {
  font-size: 0.8rem;
}
.resultProf dl .raceProf {
  padding: 1vw 0;
  font-size: 0.8rem;
}
.resultProf dl .amount {
  padding: 2vw 0 2vw 4vw;
  background-size: 24% auto;
  font-size: 1.5rem;
  text-align: left;
}
.resultProf dl .amount span {
  font-size: 1rem;
}
.gridResult {
  width: 94vw;
  gap: 3vw;
}
.gridResult .resultProf {
  width: 45.5vw;
}
.sliderResult {
  padding: 5vw 0;
}
.sliderResult .resultProf dl dt {
  font-size: 1.2rem;
}
.sliderResult .resultProf dl .raceDate {
  font-size: 1rem;
}
.sliderResult .resultProf dl .raceProf {
  padding: 1vw 0;
  font-size: 1rem;
}
.sliderResult .resultProf dl .amount {
  padding: 2vw 0 2vw 4vw;
  background-size: 24% auto;
  font-size: 1.8rem;
  text-align: left;
}
.sliderResult .resultProf dl .amount span {
  font-size: 1.2rem;
}
.contactSection {
  margin: 10vw auto 0;
  padding: 3vw;
  width: 94vw;
}
.contactSection .contactDetails .btn_area {
  display: block;
}
.contactSection .contactDetails .btn_area li {
  margin-bottom: 3vw;
  align-content: center;
  font-size: 1.2rem;
  font-weight: 900;
  height: 15vw;
}
.contactSection .contactDetails .btn_area li::before {
  top: -0.5vw;
  width: 7vw;
  height: 7vw;
}
.contactSection .contactDetails .btn_area span {
  display: block;
  font-size: 1rem;
}
.contactSection .contactDetails .text {
  margin-top: 2vw;
  font-size: 0.8rem;
}
.contactSection .contactDetails .text span {
  font-size: inherit;
}
.common_table th {
  padding: 1vw 0;
  width: 30vw;
}
.common_table td {
  padding: 1vh 0;
  padding-left: 1vw;
}
.common_table td span {
  font-size: 14px;
}
.talkThread li figure.icon {
  width: 15vw;
}
.talkThread li .talk_details {
  padding: 2vw;
  max-width: 63vw;
  line-height: 1.5em;
}
.talkThread li .talk_details::after {
  top: 10vw;
}
.talkThread .send {
  margin-bottom: 5vw;
}
.talkThread .send figure.icon {
  margin-left: 5vw;
}
.talkThread .reception {
  margin-bottom: 5vw;
}
.talkThread .reception figure.icon {
  margin-right: 5vw;
}
.page_flow {
  margin-bottom: 3vw;
}
.page_flow li {
  margin-right: 3vw;
  font-size: 1.1rem;
}
.page_flow li::after {
  right: -4.5vw;
}
.form_section {
  margin: 0 auto;
  padding: 3vw;
  width: 94vw;
}
.form_section #errmsg {
  margin-top: 3vw;
}
.form_section .form_box {
  text-align: left;
}
.form_section .form_box dt {
  margin-bottom: 3vw;
}
.form_section .form_box dt span {
  font-size: 1rem;
}
.form_section .form_box dd {
  margin-bottom: 3vw;
}
.form_section .form_box dd select,
.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: 3vw 1vw;
  font-size: 1rem;
}
.form_section .form_box dd textarea {
  padding: 1vw;
  font-size: 1rem;
  min-height: 30vw;
}
.form_section .form_box .submit {
  margin-top: 3vw;
}
.comp_section {
  margin: 0 auto 3vw;
  padding: 3vw;
  width: 94vw;
}
.comp_section .commonCaption,
.comp_section .simpleCaption {
  margin-bottom: 3vw;
}
.comp_section .text {
  margin-bottom: 3vw;
}
dl.rule_section {
  margin: 0 auto;
  padding: 3vw;
  width: 94vw;
}
dl.rule_section dt {
  margin-bottom: 2vw;
  font-size: 1.1rem;
}
dl.rule_section dd {
  margin-bottom: 3vh;
}
.commonBg {
  padding: 3vw;
  width: 94vw;
}
.todaysRace .todaysRace_list {
  padding: 3vw;
  gap: 3vw;
  width: 94vw;
}
.todaysRace .todaysRace_list li {
  padding: 2vw;
  width: 42.5vw;
}
.todaysRace .todaysRace_list li .raceIcon li {
  width: 6vw;
}
.todaysRace .todaysRace_list li .raceSchedule {
  margin-top: 2vw;
  padding: 1vw 0;
}
.contentsList {
  margin: 5vw 0;
}
.contentsList ul {
  width: 94vw;
}
.contentsList ul li {
  margin-bottom: 3vw;
  padding: 2vw;
  width: 45.5vw;
}
.contentsList ul li figure {
  margin-bottom: 2vw;
}
.contentsList ul li .text {
  font-size: 0.9rem;
}
.selectPlan li {
  margin-bottom: 3vw;
  padding: 3vw;
}
.selectPlan li dl dt {
  margin-bottom: 2vw;
}
.selectPlan li dl dd {
  width: 100%;
}
.selectPlan li:nth-last-of-type(1) {
  margin-bottom: 0;
}
.w_contentsWrap.forget,
.w_contentsWrap.login,
.w_contentsWrap.regist {
  padding-top: 25vw;
}
.w_contentsWrap.index .event,
.w_contentsWrap.index .item_section,
.w_contentsWrap.index .sliderResult {
  margin-bottom: 5vh;
}
.w_contentsWrap.index .event {
  margin: 0 auto 5vw;
  width: 94%;
}
.w_contentsWrap.index .event ul li {
  margin-bottom: 2vh;
}
.w_cmp {
  padding: 30vw 0 18vw;
}
.w_cmp .cmp_overview,
.w_cmp .cmp_details {
  margin: 0 auto 3vw;
  padding: 3vw;
  width: 94vw;
}
.w_cmp .cmp_details figure {
  margin-bottom: 3vw;
}
.w_cmp .cmp_details .cmp_freetext {
  margin-bottom: 3vw;
  padding: 2vw;
}
.w_cmp .cmp_details .cmp_attention {
  padding: 2vw;
}
.w_cmp .cmp_details .cmp_attention dt {
  margin-bottom: 2vw;
  padding-bottom: 2vw;
  font-size: 1.2em;
}
.w_cmp .cmp_details .cmp_attention dd {
  font-size: 1rem;
}
.w_cmp .sliderResult {
  margin: 5vw 0;
}
.w_cmp .cmp_overview .selectPlan,
.w_cmp .cmp_overview .common_table,
.w_cmp .cmp_overview .commonCaption {
  margin-bottom: 3vw;
}
.w_contentsWrap.contact .commonCaption {
  margin-bottom: 3vh;
}
.w_contentsWrap.contact .form_box .commonCaption {
  margin-bottom: 3vh;
}
.w_contentsWrap.contact .form_box .submit {
  margin-bottom: 0;
}
.w_contentsWrap.contact .form_box .submit button {
  margin: 0 1vw;
}
.w_contentsWrap.regist h2 {
  margin-bottom: 2vh;
}
.w_contentsWrap.regist .form_section {
  width: 94vw;
}
.w_contentsWrap.regist .form_section .form_box {
  margin-top: 3vh;
}
.w_contentsWrap.regist .comp_section .caution {
  margin-bottom: 2vh;
  padding: 2%;
}
.w_contentsWrap.regist .comp_section .caution dt {
  margin-bottom: 1vh;
  font-size: 16px;
}
.w_contentsWrap.regist .comp_section .userAcount {
  margin-bottom: 2vh;
  padding: 2%;
}
.w_contentsWrap.regist .text {
  margin-bottom: 2vh;
}
.w_contentsWrap.forget .form_box {
  margin: 2vh 0 0;
}
.w_contentsWrap.forget .form_box .submit {
  margin-bottom: 0;
}
.w_contentsWrap.forget .comp_section .text {
  margin-bottom: 0;
}
.w_contentsWrap.outline .commonBg {
  margin: 0 auto;
  padding: 3vw 0;
  width: 94vw;
}
.w_contentsWrap.outline .commonBg table {
  margin: 0 auto;
  width: 88vw;
}
.w_contentsWrap.mypage .form_section {
  width: 94vw;
}
.w_contentsWrap.mypage .form_section .commonCaption {
  margin-bottom: 3vw;
}
.w_contentsWrap.mypage .form_section li {
  margin-bottom: 3vw;
}
.w_contentsWrap.mypage .form_section li:nth-last-of-type(1) {
  margin-bottom: 0;
}
.w_contentsWrap.mypage .form_section li:nth-last-of-type(1) .submit {
  margin-bottom: 0;
}
.w_contentsWrap.mypage .comp_section .text strong {
  font-size: 1rem;
}
.w_contentsWrap.mypage .pr_banner {
  margin: 5vw auto;
  width: 94vw;
  gap: 3vw;
}
.w_contentsWrap.voice .commonCaption {
  margin-bottom: 3vw;
}
.w_contentsWrap.voice .commonBg {
  margin-bottom: 5vw;
}
.w_contentsWrap.voice .commonBg .voiceList {
  margin: 3vw 0;
}
.w_contentsWrap.voice .commonBg .voiceList li {
  margin-bottom: 3vw;
  padding: 3vw;
}
.w_contentsWrap.voice .commonBg .voiceList li figure {
  margin-bottom: 3vw;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
}
.w_contentsWrap.voice .commonBg .voiceList li figure img {
  width: 16vw;
  height: 16vw;
  display: block;
}
.w_contentsWrap.voice .commonBg .voiceList li figure figcaption {
  margin-left: 3vw;
  font-size: 1rem;
  display: block;
}
.w_contentsWrap.voice .commonBg .voiceList li figure figcaption time {
  display: block;
  font-size: 0.9rem;
}
.w_contentsWrap.voice .commonBg .voiceList li dl dt {
  margin-bottom: 2vw;
  padding-bottom: 2vw;
  font-size: 1.1rem;
  text-align: center;
}
.w_contentsWrap.voice .commonBg .voiceList li dl .text {
  font-size: 1rem;
}
.w_contentsWrap.voice .commonBg .voiceList li dl .good {
  margin-top: 1vw;
}
.w_contentsWrap.voice .commonBg .voiceList li dl .good button {
  padding: 1vw 3vw;
  font-size: 1rem;
}
.w_contentsWrap.voice .commonBg .voiceList li dl .good button::before {
  top: -0.2vw;
  width: 4.5vw;
  height: 4.5vw;
}
.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: 5vw;
}
.w_contentsWrap.chat .chatSection {
  margin: 0 auto 7vw;
  padding: 3vw;
  width: 94vw;
}
.w_contentsWrap.chat .chatSection .commonCaption {
  margin-bottom: 5vw;
}
.w_contentsWrap.chat .sendform {
  padding: 2vw;
  width: 100vw;
}
.w_contentsWrap.chat .sendform label {
  margin-right: 3vw;
  width: 12vw;
}
.w_contentsWrap.chat .sendform .textfield {
  width: 66vw;
}
.w_contentsWrap.chat .sendform .textfield textarea {
  padding: 1vw;
}
.w_contentsWrap.chat .sendform .send_btn {
  margin-left: 3vw;
  width: 12vw;
}
.w_contentsWrap.result .gridResult {
  margin-top: 3vw;
  margin-bottom: 3vw;
}
.w_contentsWrap.result .resultSummary {
  margin: 3vw 0;
}
.w_contentsWrap.result .commonBtn.large {
  margin: 0 auto;
  width: 90vw;
}
.w_contentsWrap.result .contactSection {
  margin-top: 5vw;
}
.w_contentsWrap.purchase .pointBuy {
  margin-bottom: 5vw;
}
.w_contentsWrap.purchase .pointBuy .form_box select {
  padding: 3vw 0;
}
.w_contentsWrap.purchase .item_section {
  margin-bottom: 2vw;
}
.w_contentsWrap.purchase .item_section .item_details .reserve_list,
.w_contentsWrap.purchase .item_section .item_details .text,
.w_contentsWrap.purchase .item_section .item_details .commonCaption {
  margin-bottom: 3vw;
}
.w_contentsWrap.purchase .item_section .item_details .text:nth-child(2n) {
  margin-top: 2vw;
}
.w_contentsWrap.purchase .item_section .item_details .select_details {
  display: flex;
  flex-wrap: wrap;
}
.w_contentsWrap.purchase .item_section .item_details .select_details dl dt {
  margin: 3vw 0;
}
.w_contentsWrap.purchase .item_section .item_details .simpleCaption {
  margin-bottom: 3vw;
  padding-bottom: 2vw;
}
.w_contentsWrap.purchase .item_section .item_details dl.amount {
  margin-bottom: 2vw;
}
.w_contentsWrap.purchase .item_section .item_details dl.amount dt {
  font-size: 1rem;
}
.w_contentsWrap.purchase .item_section .item_details dl.amount dd {
  font-size: 1.6rem;
}
.w_contentsWrap.purchase .item_section .item_details dl.amount dd span {
  font-size: 1rem;
}
.w_contentsWrap.purchase .item_section .item_details .reserve_list li {
  margin-bottom: 2vh;
}
.w_contentsWrap.purchase .item_section .item_details .reserve_list li label .amount {
  font-size: 1.2rem;
}
.w_contentsWrap.item .itemCaution {
  margin: 0 auto 5vw;
  padding: 3vw;
  width: 94vw;
}
.w_contentsWrap.item .item_section .no_item h3 {
  margin-bottom: 2vw;
  font-size: 1.2rem;
}
.w_contentsWrap.item .item_section .no_item .text {
  margin-bottom: 3vw;
}
