/**************
制作したCSS
***************/
/*
各コーナー、見出し
*/
.corner {
  background: #fff;
  border-radius: 10px;
  box-shadow: 0 0 3px rgba(0, 0, 0, 0.16);
  margin-bottom: 15px;
  position: relative;
  overflow: hidden;
}
.corner_ttl.schedule::after {
  background-position: 0 0;
}
.corner_ttl.medal::after {
  background-position: -40px -180px;
}
.corner_ttl.player::after {
  background-position: 0 -20px;
}

.sports_news_corner .news {
  box-shadow: none;
}

/*
五輪速報
*/
.vList_item.olympic_topics .vList_link {
  padding: 8px 0 8px 8px;
}
.vList_item.olympic_topics .flash_icon {
  width: 54px;
  height: 54px;
  margin-right: 8px;
}
.vList_item.olympic_topics .flash_icon .icon {
  width: 54px;
  height: 54px;
  background-image: none;
  background-color: #004b98;
}

/*
競技日程ボタン・
メダル情報ボタン
*/
.topics_today_info {
  padding: 8px;
  background-color: #f2f2f2;
  box-sizing: border-box;
}
.topics_today_info_item {
  position: relative;
  width: calc(50% - 4px);
  background-color: #eee;
}
.topics_today_info_item:first-child {
  padding-right: 4px;
}
.topics_today_info_link {
  position: relative;
  width: 100%;
  padding: 10px 8px;
  background-color: #fff;
  border: solid 1px #ddd;
  border-radius: 5px;
  box-sizing: border-box;
}
.topics_today_info_title {
  display: inline-block;
  position: relative;
  font-size: 16px;
  font-weight: bold;
  line-height: 1.2;
  margin: 0 auto;
  padding-left: 23px;
}
.topics_today_info_title br {
  display: none;
}
.topics_today_info_title::before {
  display: block;
  position: absolute;
  content: "";
  width: 20px;
  height: 20px;
  background-image: url(/portal/sports/paris2024/img/new_sprit_icon_ol.png);
  background-size: 600%;
  background-repeat: no-repeat;
  top: 50%;
  left: 0;
  -webkit-transform: translate(0, -50%);
  transform: translate(0, -50%);
}
.topics_today_schedule .topics_today_info_title::before {
  background-position: 0 0;
}
.topics_today_medal .topics_today_info_title::before {
  background-position: -40px -180px;
}
@media screen and (max-width: 359px) {
  .topics_today_info_link {
    padding: 4px 8px;
  }
  .topics_today_info_title br {
    display: block;
  }
}

/*
注釈
*/
.none-data-text {
  margin-top: 15px;
  padding: 0 8px;
}
/* ウィジェット下 注釈文 */
.widget-op-caption {
  font-size: 12px;
  font-family: "Noto Sans JP", "Yu Gothic", "Hiragino Kaku Gothic Pro", メイリオ,
    Meiryo, Osaka, sans-serif;
  margin: 8px 0 0;
  padding: 0 8px 20px;
}
.widget-op-caption a {
  color: #0d7dd9 !important;
  font-weight: bold;
  text-decoration: underline;
}

.detail_btn {
  margin-bottom: 15px;
}
.fot {
  margin: 0;
}

/*
ジャンルタブボタン
*/
.genre_btn {
  background-color: #fff;
}
.genre_btn_list {
  width: 100%;
  min-width: 320px;
  margin-bottom: 10px;
  padding: 0 5px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

.genre_btn_item {
  width: calc(100% / 3);
  height: 32px;
  background-color: #dadada;
  border-radius: 5px;
  margin: 10px 3px;
}
.genre_btn_item_link {
  height: 100%;
  border-radius: 5px;
  font-weight: bold;
}
.genre_btn.genre_head .genre_btn_item {
  margin: 15px 3px;
  background-color: #ccc;
}
.genre_btn_item.selected,
.genre_btn.genre_head .genre_btn_item.selected {
  background-color: #ce1836;
}
.genre_btn_item.selected .genre_btn_item_link {
  color: #fff;
}

/*
フローティングナビ
*/
.fotmenu {
  position: fixed;
  right: 0;
  left: 0;
  bottom: 0;
  z-index: 100;
}
.fotmenu_list {
  width: 100%;
  background: #ce1836;
}
.fotmenu_item {
  position: relative;
  width: calc(100% / 5);
}
.fotmenu_item::before {
  position: absolute;
  content: "";
  top: 9px;
  bottom: 9px;
  left: -0.5px;
  width: 1px;
  background: #fff;
}
.fotmenu_item:first-child::before,
.fotmenu_item.current::before,
.fotmenu_item.current + li::before {
  display: none;
}
.fotmenu_link {
  position: relative;
  height: 60px;
  color: #fff;
}
.fotmenu_item.current .fotmenu_link {
  color: #ce1836;
  background: #fff;
}
.fotmenu_icon {
  width: 20px;
  height: 20px;
  background-image: url(/portal/sports/paris2024/img/new_sprit_icon_ol.png);
  background-size: 600%;
}
.fotmenu_top_icon {
  background-position: 0 -240px;
}
.fotmenu_result_icon {
  background-position: -20px -100px;
}
.fotmenu_medal_icon {
  background-position: -40px -300px;
}
.fotmenu_player_icon {
  background-position: 0 -100px;
}
.fotmenu_news_icon {
  background-position: -80px -240px;
}

.current .fotmenu_top_icon {
  background-position: -100px 0;
}
.current .fotmenu_result_icon {
  background-position: -20px 0;
}
.current .fotmenu_medal_icon {
  background-position: -60px -180px;
}
.current .fotmenu_player_icon {
  background-position: -20px -20px;
}
.current .fotmenu_news_icon {
  background-position: -100px -20px;
}
.fotmenu_txt {
  font-size: 10px;
  font-weight: bold;
  color: #fff;
  margin-top: 3px;
}
.current .fotmenu_txt {
  color: #ce1836;
}

/*
セレクトボックス
*/
.corner_select {
  position: relative;
  max-width: 450px;
  margin: auto;
  padding: 15px 11px 8px;
}
.sports_news_corner .corner_select {
  padding: 15px 8px 8px;
}
.corner_select select {
  width: 100%;
  padding: 8px;
  background: #fff;
  border: 1px solid #ccc;
  -webkit-appearance: none;
  appearance: none;
}
.corner_select::after {
  position: absolute;
  content: "";
  width: 6px;
  height: 6px;
  border-right: 2px solid #666;
  border-bottom: 2px solid #666;
  top: 52%;
  right: 20px;
  -webkit-transform: translateY(-48%) rotate(45deg);
  transform: translateY(-48%) rotate(45deg);
}

/*
footer
*/
.footer_contents {
  margin: 15px 0;
}
.fot_nav_item {
  text-align: left;
}

/*
スポーツトピックス
*/
.topics_corner .photoList {
  margin-bottom: 0;
  box-shadow: none;
}

/*
ピックアップ枠アイコン
*/
.pickup #topics.event a::before {
  background-position: -140px -80px;
}

.mt0 {
  margin-top: 0;
}

/*
アプリ版表示・非表示
*/
html.dmenu_sports_app .app_banner,
html.dmenu_sports_app .flash_banner {
  display: none;
}
html.dmenu_sports_app .genre_box.top {
  display: block;
}
html.dmenu_sports_app .nurturing {
  display: none;
}
html.dmenu_sports_app .topics_corner {
  margin-bottom: 160px;
}
/*TOPページ用*/
html.dmenu_sports_app .infeed_adContents + .topics_corner {
  margin-bottom: 15px;
}

/*
アプリ版ニュースアコーディオン
*/
html.dmenu_sports_app .sports_news_corner .vList .vList_item:nth-child(n + 21) {
  max-height: 0;
  border-bottom: none;
  visibility: hidden;
}
html.dmenu_sports_app
  .sports_news_corner.closed
  .vList
  .vList_item:nth-child(n + 21) {
  -webkit-animation: slideUp 1.3s ease-out forwards;
  animation: slideUp 1.3s ease-out forwards;
}
html.dmenu_sports_app
  .sports_news_corner.opened
  .vList
  .vList_item:nth-child(n + 21) {
  -webkit-animation: slideDown 1.3s ease-out forwards;
  animation: slideDown 1.3s ease-out forwards;
}

html.dmenu_sports_app .top #d3pdiv_widget_2 {
  margin-bottom: 150px;
}

/*
ウィジェット
*/
.corner.widget_corner {
  min-width: 320px;
  border-radius: 0 0 10px 10px;
  margin-top: 10px;
}

/*
★★★ウィジェット用css[通常設定]
*/
/* 共通 */
.corner.widget_corner {
  min-width: 320px;
  border-radius: 10px;
}

.medal_contents .corner.widget_corner {
  border-radius: 0 0 10px 10px;
}

/**************
ウィジェット用CSSを
上書きしているCSS
***************/
/*ウィジェットの見出し非表示*/
#joyfru-oc-content .joyfru-box-typography {
  display: none !important;
}

/* 国別メダル[P-MED-001] */
#joyfru-oc-content .joyfru-tablebody tr td:first-child,
#joyfru-oc-content .joyfru-tablebody tr td:last-child,
#joyfru-oc-content .joyfru-text-medal {
  font-family: Roboto, -apple-system, BlinkMacSystemFont, "Helvetica Neue",
    "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", Arial, sans-serif !important;
}
#joyfru-oc-content .joyfru-templates-P_MED_001 .joyfru-box-typography {
  display: none;
}

#joyfru-oc-content .joyfru-templates-P_MED_001 .joyfru-box-noc a {
  display: block;
  font-size: 14px;
  font-weight: bold;
  line-height: 1.3;
  margin-bottom: 2px;
}
#joyfru-oc-content .joyfru-templates-P_MED_001 .joyfru-box-noc a:hover {
  text-decoration: none !important;
}

/* 当日メダリスト[P-MLD-001] */
#joyfru-oc-content .joyfru-tablebody tr td:first-child,
#joyfru-oc-content .joyfru-tablebody tr td:last-child,
#joyfru-oc-content .joyfru-text-medal {
  font-family: Roboto, -apple-system, BlinkMacSystemFont, "Helvetica Neue",
    "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", Arial, sans-serif !important;
}

#joyfru-oc-content .joyfru-box-noc a {
  display: block;
  font-size: 13px;
  font-weight: bold;
  line-height: 1.3;
  margin-bottom: 2px;
}
#joyfru-oc-content .joyfru-box-noc a:hover {
  text-decoration: none !important;
}
#joyfru-oc-content
  .joyfru-card-athlete
  .joyfru-card-athlete-info
  .joyfru-text-athlete {
  font-weight: bold !important;
}

@media screen and (min-width: 750px) {
  #joyfru-oc-content .joyfru-box-noc a {
    font-size: 14px;
  }
}

/* 日本人メダリスト[P-MLD-001] */
#joyfru-oc-content .joyfru-templates-P_MLS_001 .joyfru-box-fulllink a {
  display: none !important;
}

/* 日別・競技別スケジュール[P_SCH_004] */
#joyfru-oc-content {
  font-family: "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", sans-serif;
}

#joyfru-oc-content .joyfru-table,
#joyfru-oc-content .joyfru-table-navi-schedule,
#joyfru-oc-content .joyfru-table-pk,
#joyfru-oc-content .joyfru-table-medallist,
#joyfru-oc-content .joyfru-table-tim-table,
#joyfru-oc-content .joyfru-table-por-table,
#joyfru-oc-content .joyfru-table-detail,
#joyfru-oc-content .joyfru-table-team,
#joyfru-oc-content .joyfru-table-res-versus {
  font-family: Roboto, -apple-system, BlinkMacSystemFont, "Helvetica Neue",
    "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", Arial, sans-serif !important;
}

#joyfru-oc-content .joyfru-checkbox-dropdown {
  font-size: 14px;
}
#joyfru-oc-content .joyfru-checkbox-dropdown.joyfru-active:before {
  top: 16px;
}

#joyfru-oc-content .joyfru-js-target-date .joyfru-box-time:nth-child(2) {
  padding-top: 0 !important;
}

#joyfru-oc-content
  .joyfru-box-time
  .joyfru-box-time-item
  .joyfru-list-athlete
  .joyfru-list-athlete-item
  .joyfru-box-info-athlete
  a,
#joyfru-oc-content .joyfru-box-noc a,
#joyfru-oc-content
  .joyfru-templates-P_SCH_004
  .joyfru-box-time-content
  tr
  td
  a {
  font-weight: bold !important;
}

#joyfru-oc-content
  .joyfru-box-time
  .joyfru-box-time-item
  .joyfru-list-athlete
  .joyfru-list-athlete-item
  .joyfru-box-info-athlete
  a:hover {
  text-decoration: none !important;
}

#joyfru-oc-content .joyfru-templates-P_SCH_004 .joyfru-icon-medal {
  margin-left: 6px;
}

#joyfru-oc-content
  .joyfru-box-time
  .joyfru-box-time-content
  table
  td:last-child
  a {
  white-space: inherit !important;
}

#joyfru-oc-content
  .joyfru-table.joyfru-table-schedule-match
  tr:nth-child(2)
  td:first-child {
  width: calc(100% - 120px) !important;
}
#joyfru-oc-content
  .joyfru-table.joyfru-table-schedule-match
  tr:nth-child(2)
  td:nth-child(2) {
  width: 120px !important;
}
#joyfru-oc-content .joyfru-box-time .joyfru-box-time-item .joyfru-list-athlete {
  width: auto;
}

#joyfru-oc-content .joyfru-button-schedule-schedulestatus {
  min-width: auto;
}

#joyfru-oc-content .joyfru-templates-P_SCH_004 .joyfru-icon-medal {
  margin-left: 6px;
}

@media screen and (min-width: 450px) {
  #joyfru-oc-content
    .joyfru-table.joyfru-table-schedule-match
    tr:nth-child(2)
    td:first-child {
    width: calc(100% - 160px) !important;
  }
  #joyfru-oc-content
    .joyfru-table.joyfru-table-schedule-match
    tr:nth-child(2)
    td:nth-child(2) {
    width: 160px !important;
  }
}
@media screen and (min-width: 750px) {
  #joyfru-oc-content
    .joyfru-table.joyfru-table-schedule-match
    tr:nth-child(2)
    td:first-child {
    width: calc(100% - 200px) !important;
  }
  #joyfru-oc-content
    .joyfru-table.joyfru-table-schedule-match
    tr:nth-child(2)
    td:nth-child(2) {
    width: 200px !important;
  }
}
@media screen and (max-width: 359px) {
  #joyfru-oc-content
    .joyfru-table.joyfru-table-schedule-match
    tr:nth-child(2)
    td:first-child {
    width: calc(100% - 90px) !important;
  }
  #joyfru-oc-content
    .joyfru-table.joyfru-table-schedule-match
    tr:nth-child(2)
    td:nth-child(2) {
    width: 90px !important;
  }
}
@media screen and (max-width: 359px) {
  #joyfru-oc-content .joyfru-templates-P_PRL_002 .joyfru-box-form-search {
    padding: 20px 10px;
  }
}

/* 日程・結果[P_SCH_001] */
#joyfru-oc-content {
  font-family: "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", sans-serif;
}

#joyfru-oc-content .joyfru-table-tournament-schedule {
  border-bottom: 1px solid #ccc;
}
#joyfru-oc-content
  .joyfru-table-tournament-schedule
  thead
  tr.joyfru-th-day
  th
  a {
  font-family: Roboto, -apple-system, BlinkMacSystemFont, "Helvetica Neue",
    "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", Arial, sans-serif !important;
}

#joyfru-oc-content .joyfru-table-tournament-schedule,
#joyfru-oc-content .joyfru-table-tournament-schedule .joyfru-text-competition {
  font-size: 13px;
}
#joyfru-oc-content
  .joyfru-templates-P_SCH_001
  .joyfru-box-time-content
  tr
  td
  a {
  font-weight: bold;
}

/* 当日日程[P_SCH_004] */
#joyfru-oc-content {
  font-family: "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", sans-serif;
}
#joyfru-oc-content .widget_corner {
  min-width: 320px;
  border-radius: 10px;
  margin-top: 10px;
}

#joyfru-oc-content .joyfru-table,
#joyfru-oc-content .joyfru-table-navi-schedule,
#joyfru-oc-content .joyfru-table-pk,
#joyfru-oc-content .joyfru-table-medallist,
#joyfru-oc-content .joyfru-table-tim-table,
#joyfru-oc-content .joyfru-table-por-table,
#joyfru-oc-content .joyfru-table-detail,
#joyfru-oc-content .joyfru-table-team,
#joyfru-oc-content .joyfru-table-res-versus {
  font-family: Roboto, -apple-system, BlinkMacSystemFont, "Helvetica Neue",
    "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", Arial, sans-serif !important;
}

#joyfru-oc-content .joyfru-checkbox-dropdown {
  font-size: 14px;
}
#joyfru-oc-content .joyfru-checkbox-dropdown.joyfru-active:before {
  top: 16px;
}

#joyfru-oc-content .joyfru-js-target-date .joyfru-box-time:nth-child(2) {
  padding-top: 0 !important;
}

#joyfru-oc-content
  .joyfru-box-time
  .joyfru-box-time-item
  .joyfru-list-athlete
  .joyfru-list-athlete-item
  .joyfru-box-info-athlete
  a,
#joyfru-oc-content .joyfru-box-noc a,
#joyfru-oc-content
  .joyfru-templates-P_SCH_004
  .joyfru-box-time-content
  tr
  td
  a {
  font-weight: bold !important;
}

#joyfru-oc-content
  .joyfru-box-time
  .joyfru-box-time-item
  .joyfru-list-athlete
  .joyfru-list-athlete-item
  .joyfru-box-info-athlete
  a:hover {
  text-decoration: none !important;
}

#joyfru-oc-content .joyfru-templates-P_SCH_004 .joyfru-icon-medal {
  margin-left: 6px;
}

#joyfru-oc-content
  .joyfru-box-time
  .joyfru-box-time-content
  table
  td:last-child
  a {
  white-space: inherit !important;
}

#joyfru-oc-content
  .joyfru-table.joyfru-table-schedule-match
  tr:nth-child(2)
  td:first-child {
  width: calc(100% - 120px) !important;
}
#joyfru-oc-content
  .joyfru-table.joyfru-table-schedule-match
  tr:nth-child(2)
  td:nth-child(2) {
  width: 120px !important;
}
#joyfru-oc-content .joyfru-box-time .joyfru-box-time-item .joyfru-list-athlete {
  width: auto;
}

#joyfru-oc-content .joyfru-button-schedule-schedulestatus {
  min-width: auto;
}

#joyfru-oc-content .joyfru-templates-P_SCH_004 .joyfru-icon-medal {
  margin-left: 6px;
}

@media screen and (min-width: 450px) {
  #joyfru-oc-content
    .joyfru-table.joyfru-table-schedule-match
    tr:nth-child(2)
    td:first-child {
    width: calc(100% - 160px) !important;
  }
  #joyfru-oc-content
    .joyfru-table.joyfru-table-schedule-match
    tr:nth-child(2)
    td:nth-child(2) {
    width: 160px !important;
  }
}
@media screen and (min-width: 750px) {
  #joyfru-oc-content
    .joyfru-table.joyfru-table-schedule-match
    tr:nth-child(2)
    td:first-child {
    width: calc(100% - 200px) !important;
  }
  #joyfru-oc-content
    .joyfru-table.joyfru-table-schedule-match
    tr:nth-child(2)
    td:nth-child(2) {
    width: 200px !important;
  }
}
@media screen and (max-width: 359px) {
  #joyfru-oc-content
    .joyfru-table.joyfru-table-schedule-match
    tr:nth-child(2)
    td:first-child {
    width: calc(100% - 90px) !important;
  }
  #joyfru-oc-content
    .joyfru-table.joyfru-table-schedule-match
    tr:nth-child(2)
    td:nth-child(2) {
    width: 90px !important;
  }
}

/* 選手プロフィール[P-PRF-001] */
#joyfru-oc-content
  .joyfru-card-athlete-detail
  .joyfru-templates-P_PRF_001
  .joyfru-card-athlete-info
  .joyfru-list-event
  li:before {
  top: 3px;
}

#joyfru-oc-content .joyfru-templates-P_PRF_001 .joyfru-js-target-date {
  margin-top: 15px !important;
}
#joyfru-oc-content
  .joyfru-templates-P_PRF_001
  .joyfru-box-typography
  + .joyfru-js-target-date {
  margin-top: 20px !important;
}

#joyfru-oc-content .joyfru-text-sport-name {
  text-align: left;
}

#joyfru-oc-content .joyfru-tablebody {
  background-color: transparent !important;
}

#joyfru-oc-content
  .joyfru-templates-P_PRF_001
  .joyfru-box-time-content
  table
  td:last-child
  a {
  font-weight: bold !important;
}

/* 競技結果 */
/* 共通 */
#joyfru-oc-content .joyfru-area {
  width: 100% !important;
  padding: 0 20px !important;
  box-sizing: border-box !important;
}

/* サッカー */
#joyfru-oc-content .joyfru-progressbar[role="progressbar"] {
  --bg: #d7c378 !important;
}

/**************
制作したCSS
ダークモード対応
***************/
@media (prefers-color-scheme: dark) {
  /*ウィジェットダークモードに合わせる対応のためappクラス無し*/
  .widget-wrap {
    background-color: #121212 !important;
  }
  .widget-op-caption {
    color: #fff !important;
  }

  /*競技日程ボタン・メダル情報ボタン*/
  html.dmenu_sports_app .topics_today_info {
    background: #2a2a2a !important;
  }
  html.dmenu_sports_app .topics_today_info_item {
    background-color: #2a2a2a !important;
  }
  html.dmenu_sports_app .topics_today_info_link {
    color: #fff !important;
    background-color: #4a4a4a !important;
    border-color: #666 !important;
  }
  html.dmenu_sports_app
    .topics_today_schedule
    .topics_today_info_title::before {
    background-position: -20px -100px !important;
  }
  html.dmenu_sports_app .topics_today_medal .topics_today_info_title::before {
    background-position: -40px -300px !important;
  }

  /*セレクトボックス*/
  html.dmenu_sports_app .corner_select select {
    background-color: #1a1a1a !important;
  }
  /*タブ*/
  html.dmenu_sports_app .genre_btn {
    background-color: #1a1a1a !important;
  }
  html.dmenu_sports_app .genre_btn_item {
    background-color: #2a2a2a !important;
  }
  html.dmenu_sports_app .genre_btn_item.selected {
    background-color: #ce1836 !important;
  }
  html.dmenu_sports_app .genre_btn_item_link {
    color: #fff !important;
  }
}

/**************
ユーティリティ
***************/
.block {
  display: block !important;
}
.none {
  display: none !important;
}
