* {
  margin: 0;
  padding: 0;
}

ul,
li {
  list-style-type: none;
  margin: 0;
  padding: 0;
}

/*snsBtn
-----------------------------------------------------*/
#sns_button {
  width: 90%;
  max-width: 636px;
  height: 25px;
  margin: 20px auto 10px;
  overflow: hidden;
  _zoom: 1;
}
#sns_button li {
  margin-right: 10px;
  float: right;
}

/*--- clearfix ---*/
.cf:after,
#wrap ul.tab:after {
  content: "";
  display: block;
  clear: both;
}

#wrap *,
#wrap *:before,
#wrap *:after {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
}

#wrap {
  width: 100%;
  overflow: hidden;
  font-family: "Noto Sans Japanese", "Hiragino Kaku Gothic Std",
    "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, Osaka,
    "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  line-height: 1.7;
  letter-spacing: 0.03em;
  color: #211c1a;
  background-color: #6d59a1;
  padding: 0 0 5%;
  background-image: url(https://cdn.lumine.jp/contents/design/2025/251106_outergrandprix25_result/img/bg_1.png);
  background-size: contain;
  vertical-align: sub;
  background-repeat: no-repeat;
  background-position: top 70.5cqw left 0;
}

.wrap_2 {
  background-image: url(https://cdn.lumine.jp/contents/design/2025/251106_outergrandprix25_result/img/bg_2.png);
  background-size: contain;
  vertical-align: sub;
  background-repeat: no-repeat;
  background-position: top 102cqw left 0;
}

.wrap_3 {
  background-image: url(https://cdn.lumine.jp/contents/design/2025/251106_outergrandprix25_result/img/bg_2.png);
  background-size: contain;
  vertical-align: sub;
  background-repeat: no-repeat;
  background-position: bottom 0 left 0;
}

#wrap a {
  text-decoration: none;
}

.main {
  width: 96%;
  margin: 0 auto;
}

.yellow {
  color: #f5d800;
}

.white {
  color: #fff;
}


.leadbox {
  width: 90%;
  margin: 7.5% auto 7.8%;
}

.lead_1 {
  font-size: 3.7cqw;
  font-weight: bold;
  line-height: 1.85em;
  text-align: center;
  padding-bottom: 2.5%;
}

.lead_2 {
  font-size: 3.7cqw;
  font-weight: bold;
  line-height: 1.85em;
  text-align: center;
}


.no_box {
  background-color: #fff;
}

.item_main {
  position: relative;
}

.icon_no {
  position: absolute;
  width: 19%;
  top: 1.6%;
  left: 1.3%;
}

.detail_box {
  width: 85%;
  margin: 4.5% auto;
  text-align: center;
}

.shop {
  font-size: 3.7cqw;
  font-weight: bold;
  line-height: 1.85em;
}

.shop::before {
    content: "";
    display: inline-block;
    width: 4cqw;
    height: 4.5cqw;
    background-image: url(https://cdn.lumine.jp/contents/design/2025/251106_outergrandprix25_result/img/icon_map.png);
    background-size: contain;
    vertical-align: sub;
    background-repeat: no-repeat;
}

.name {
  font-size: 3.7cqw;
  font-weight: bold;
  line-height: 1.85em;
}

.price {
  font-size: 3.5cqw;
  font-weight: 600;
  line-height: 1.85em;
}

.price a {
  display: inline;
}

.buy {
  background-color: #6d59a1;
  padding: 0.1% 1.7% 0.2%;
  line-height: 1.2em;
  border-radius: 2px;
  color: #fff;
  font-size: 3.2cqw;
}

.point {
  font-size: 3.45cqw;
  font-weight: 500;
  line-height: 1.7em;
  padding: 3.5% 0 0;
}


.vote_area {
  margin-top: 7%;
}

h2 {
  font-size: 6.8cqw;
  font-weight: bold;
  line-height: 1.5em;
  text-align: center;
  color: #fff;
}

.h2_sub {
  font-size: 3.5cqw;
  font-weight: 500;
  line-height: 1.85em;
  padding: 0.5% 0 3.3%;
  text-align: center;
  color: #fff;
}

.vote_box {
  background-color: #fff;
  padding: 2%;
}

.bn_vote_tx {
  font-size: 3.5cqw;
  font-weight: 600;
  line-height: 1.85em;
  padding: 4% 0 2%;
  text-align: center;
}

.vote_date {
  font-size: 3.3cqw;
  font-weight: 600;
  background-color: #8c242f;
  padding: 0.1% 1.5% 0.2%;
  line-height: 1.2em;
  border-radius: 2px;
  color: #fff;
}


/*タブ切り替え//////////////////////////////////////////////////*/
/* タブ全体を囲むコンテナの設定 */
.tab-switch {
  display: flex; /* タブを横並びに */
  flex-wrap: wrap; /* 幅に応じて折り返し */
  margin: auto;/* コンテナの中央寄せ */
  justify-content: center;/* タブの中央寄せ */
  gap: 5px;/* タブ間の余白 */
}

/* 各タブボタンの設定 */
.tab-switch > label {
  width: 48%;
  flex: 1 1 auto; /* タブが均等に幅をとるが、幅を超えると折り返す */
  order: -1; /* 上部に表示する */
  position: relative; /* 絶対位置指定用の基準 */
  padding: 3% 2% 3.4%; /* 上下左右の内側余白 */
  background-color: #b6b5b5; /* 背景色 */
  color: #5b5959; /* 文字色 */
  text-align: center; /* 文字を中央揃え */
  cursor: pointer; /* ポインターを指アイコンに変更 */
  transition:.3s all;
  line-height: 1.7em;
  font-size: 3.7cqw;
  font-weight: 600;
  border-radius: 7px;
}

/* タブボタンのホバーおよび選択状態のスタイル */
.tab-switch > .lumine1_tab:hover,
.tab-switch .lumine1_tab:has(:checked) {
  background-color: #8c242f; /* ホバー/選択時の背景色 */
  color: #fff; /* ホバー/選択時の文字色 */
  line-height: 1.7em;
  font-size: 3.8cqw;
  font-weight: 600;
  border-radius: 7px;
}

.tab-switch > .lumine2_tab:hover,
.tab-switch .lumine2_tab:has(:checked) {
  background-color: #8c242f; /* ホバー/選択時の背景色 */
  color: #fff; /* ホバー/選択時の文字色 */
  line-height: 1.7em;
  font-size: 3.8cqw;
  font-weight: 600;
  border-radius: 7px;
}


/* ラジオボタン自体は非表示 */
.tab-switch input {
  display: none; /* 見た目に表示されないようにする */
}

/* タブコンテンツのスタイル */
.tab-switch > div {
  display: none; /* 初期状態では非表示 */
  width: 100%; /* コンテンツ幅を全体に */
   /* 内側余白 */
  margin: 1% 0 0;
}

/* 選択されたタブのコンテンツを表示 */
.tab-switch .lumine1_tab:has(:checked) + div {
  display: block; /* 選択されたタブに対応するコンテンツを表示 */
}

.tab-switch .lumine2_tab:has(:checked) + div {
  display: block; /* 選択されたタブに対応するコンテンツを表示 */
}




/*スライダー//////////////////////////////////////////////////*/
#wrap .sliderBox_2 {
  width: 100%;
  padding-bottom: 4%;
}

#wrap .sliderBox_2 .contents {
  overflow-x: scroll;
  overflow-y: hidden;
  margin: 0 0 7% 2%;
}

#wrap .sliderBox_2 #itemSlide {
  width: fit-content;
  display: inline-grid;
  /* grid-template-rows: repeat(2, auto); */
  grid-auto-flow: column;
  overflow: hidden;
  margin-bottom: 6%;
  position: relative;
}

#wrap .sliderBox_2 #itemSlide li {
  width: 245px;
  margin: 0 7px 0 0;
  border-radius: 8px;
}

#wrap .sliderBox_2 a {
  text-decoration: none;
}

.detail p {
  font-size: 3.2cqw;
  font-weight: 500;
  line-height: 1.55em;
  padding-top: 2%;
}

.slider_tl {
  font-size: 3.5cqw;
  font-weight: 400;
  line-height: 1.55em;
  padding-bottom: 2.5%;
  margin-top: 7%;
}


/* 移行区分E：mobile_firstテンプレートのstyle */
.mobile_first_to_page_top {
  display: block;
}
