@charset "UTF-8";

/* top ---------------------------------------- */

.top-bg {
  background-image: url(/mc/owner-support/customer-support/wtgp/wtgp2025jp/img/bg_top_001.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: top right;
  padding: 10% 0;
}

@media print,
screen and (min-width: 768px) {
  .top-bg-pc-box {
    max-width: 1220px;
    margin: 0 auto;
  }
}

@media screen and (min-width: 768px) and (max-width: 1280px) {
  .top-bg-pc-box {
    width: 98%;
  }
}

@media screen and (max-width: 767px) {
  .top-bg-pc-box {
    width: 100%;
  }
}

@media screen and (max-width: 767px) {
  .top-bg {
    background: #fff;
    color: #000;
    position: relative;
    padding: 0;
  }

  .top-bg__bottom {
    padding: 18px 18px 0 18px;
  }

  .top-bg__bottom>p {
    font-size: 1.4rem;
  }
}

.top-about {
  background-image: url(/mc/owner-support/customer-support/wtgp/wtgp2025jp/img/bg_top_001.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: top right;
  padding: 10% 0;
}

.w-658 {
  max-width: 658px;
}


#rwd-content figcaption {
  width: 100%;
  margin-top: 15px;
  text-align: start;
}

iframe {
  width: 100%;
  height: auto;
  aspect-ratio: 16/9;
}

.video-wrapper-main {
  max-width: 700px;
  margin-right: auto;
  margin-left: auto;
}

.video-list>.rwd-grid-item {
  margin-bottom: 15px;
}

#rwd-content .swiper-button-prev.button-prev02,
#rwd-content .swiper-button-next.button-next02 {
  background-color: rgba(255, 255, 255, 0.9) !important;
}

.map {
  position: relative;
}

.map_area {
  display: inline-block;
  position: absolute;
}

.map_area a {
  color: #fff !important;
  font-weight: 500;
  font-size: 1.8rem;
  transition: 0.3s ease;
  padding: 3px 10px;
}

.map_area_americas {
  top: 39.07%;
  left: 76%;
  background-color: #EFBC22;
}

.map_area_americas:hover {
  background-color: #B99426;
}

.map_area_europe {
  top: 29.05%;
  left: 11%;
  background-color: #6A5DF4;
}

.map_area_europe:hover {
  background-color: #4F45BE;
}

.map_area_asia {
  top: 28.05%;
  left: 33%;
  background-color: #F73A3A;
}

.map_area_asia:hover {
  background-color: #D23E3E;
}

.map_area_asean {
  top: 58.1%;
  left: 44%;
  background-color: #34AF73;
}

.map_area_asean:hover {
  background-color: #3F8F68;
}

.pickup-item figure figcaption span {
  font-weight: 600;
  font-size: 1.7rem;
}

@media screen and (max-width: 767px) {
  .map_area a {
    font-size: 3.2vw;
  }

  .map_area_americas {
    top: 54%;
    left: 62%;
  }

  .map_area_europe {
    top: 24%;
    left: 13%;
  }

  .map_area_asia {
    top: 38%;
    left: 22%;
  }

  .map_area_asean {
    top: 70%;
    left: 30%;
  }
}

/* about ---------------------------------------- */

.about-top {
  background-image: url(/mc/owner-support/customer-support/wtgp/wtgp2025jp/img/bg_about_001.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: top left;
  padding: 35px 0 75px;
}

.about-disciplines {
  background: linear-gradient(to bottom, #ffffff 0%, #666666 100%);
  padding: 70px 0 120px;
}

/* ベースの白枠ボックス */
.competition-box {
  background: #fff;
  padding: 20px;
  box-sizing: border-box;
  margin-top: 30px;
}
/* 採点基準の位置を揃える */
.competition-box {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

/* 見出し */
.competition-title {
  font-size: 2.6rem;
  font-weight: bold;
  color: #D71718;
  margin-bottom: 0.8em;
  border-bottom: 1px #D71718 solid;
  padding-bottom: .2em;
}

.competition-subtitle {
  font-size: 1.8rem;
  font-weight: bold;
  margin-top: 1.5em;
  margin-bottom: 0.8em;
}

/* テキスト */
.competition-text {
  font-size: 1.6rem;
  line-height: 1.6;
  margin-bottom: 1em;
}

/* 画像 */
.competition-img {
  width: 100%;
  height: auto;
  margin: 1em 0;
  display: block;
}

/* 審査ポイントリスト */
.competition-points {
  list-style: none;
  padding: 0;
  margin: 0;
}

.competition-points li {
  font-size: 1.6rem;
  line-height: 1.6;
  font-weight: bold;
  margin-bottom: 0.8em;
  position: relative;
  padding-left: 2.2em;
}

.competition-points li .txt_w_thin {
  font-weight: normal;
}

/* 赤丸番号 */
.point-number {
  position: absolute;
  left: 0;
  top: 0.1em;
  background: #D71718;
  color: #fff;
  font-weight: bold;
  border-radius: 50%;
  width: 1.6em;
  height: 1.6em;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
}

.about-1t1 {
  background-image: url(/mc/owner-support/customer-support/wtgp/wtgp2025jp/img/bg_about_002.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: top right;
  padding: 10% 0;
  color: #fff;
}

@media print,
screen and (min-width: 768px) {
  .about-1t1-pc-box {
    max-width: 1220px;
    margin: 0 auto;
  }
}

@media screen and (min-width: 768px) and (max-width: 1280px) {
  .about-1t1-pc-box {
    width: 98%;
  }
}

@media screen and (max-width: 767px) {
  .about-1t1-pc-box {
    width: 100%;
  }
}

.about-1t1 h2>span {
  font-size: 5rem !important;
}

@media screen and (max-width: 767px) {
  .about-top {
    padding: 0;
  }

  .about-disciplines {
    padding: 15px 0 40px;
  }

  .competition-box {
    margin-top: 0;
  }

  .competition-text {
    font-size: 1.4rem;
  }

  .competition-title {
    font-size: 1.7rem;
  }

  .competition-subtitle {
    font-size: 1.6rem;
    margin: .8em 0 .5em;
  }

  .point-number {
    font-size: 1.4rem;
  }

  .competition-points li {
    font-size: 1.4rem;
    margin-bottom: .5em;
  }

  .competition-points li .txt_w_thin {
    font-size: 1.4rem;
  }

  .about-1t1 {
    background: #fff;
    color: #000;
    position: relative;
    padding: 0;
  }

  .about-1t1__h2 {
    color: #fff;
    position: absolute;
    height: 60.77vw;
    line-height: 60.77vw;
    /* 高さと同じにする */
    top: 0;
    left: 4.8vw;
    text-shadow: 0px 0px 5px rgb(0, 0, 0);
  }

  .about-1t1 h2>span {
    font-size: 3.7rem !important;
  }

  .about-1t1__bottom {
    padding: 18px 18px 0 18px;
  }

  .about-1t1__bottom>p {
    font-size: 1.4rem;
  }
}

/* comp -------------------------------------------- */
.comp-list a figcaption,
.comp-list a figcaption span {
  font-size: 1.8rem !important;
  margin-top: 9px !important;
}
.comp-list a figcaption span {
  font-weight: 600;
  font-size: 2rem !important;
}

@media screen and (max-width:767px) {
  .comp-list a figcaption {
    font-size: 1.4rem !important;
    margin-top: .2em !important;
  }

  .comp-list a figcaption>span {
    font-size: 1.6rem !important;
  }
}

/* comp-detail ----------------------------------------- */
.comp-detail-nav {
  width: 100%;
  border-bottom: 1px #b9b9b9 solid;
  display: flex;
  justify-content: end;
  margin-top: 38px;
}

.comp-detail-nav li {
  padding: 4px 20px;
  font-weight: bold;
  border-bottom: 3px #fff solid;
}

.comp-detail-nav li>a:hover {
  color: #B10000 !important;
}

.comp-detail-nav li.current {
  color: #B10000;
  border-bottom: 3px #B10000 solid;
}

.comp-detail-nav li.current>a {
  color: #B10000 !important;
}

/* スマホ版ナビゲーション */
@media screen and (max-width: 767px) {
  #rwd-content .rwd-product-header-menu-button::after {
    background-image: url(/mc/owner-support/customer-support/wtgp/wtgp2025jp/img/rwd_icon_arrow_bottom01.svg);
  }
  /* #rwd-content .rwd-pagenav-header {
    top: 70px !important;
  } */
  #rwd-content .rwd-pagenav-header-wrap .rwd-pagenav-header {
    margin-top: -50px;
  }
  #rwd-content .rwd-product-header-menu-button {
    top: 15px;
  }
  #rwd-content .rwd-product-header-menu-button span {
    left: 2px;
  }
}


/* 選手プロフィール全体 */
.competitor-profile {
  margin-top: 70px;
  padding-bottom: 90px;
  border-bottom: 1px solid #b4b4b4;
}

.rwd-main-content-group>.competitor-profile:last-of-type {
  border-bottom: none;
}

.competitor-profile__top {
  display: flex;
  gap: 2.5em;
}

/* 写真部分 */
.competitor-profile__photo {
  flex: 0 0 272px;
}

/* プロフィール表 */
.competitor-profile__info {
  flex: 1;
  min-width: 250px;
  width: 100%;
}

.competitor-profile__table {
  width: 100%;
  border-collapse: collapse;
  font-size: 1.6rem;
  line-height: 1.6;
}

.competitor-profile__table th,
.competitor-profile__table td {
  padding: 1em 10px;
  border-bottom: 1px solid #b4b4b4;
  text-align: left;
  vertical-align: top;
}

.competitor-profile__table th {
  width: 8em;
  font-weight: bold;
  white-space: nowrap;
}

/* 動画エリア */
/* サムネイル */
.movie-thumb {
  position: relative;
  display: block;
  max-width: 640px;
  margin: 58px auto 0;
  cursor: pointer;
  border: #fff 3px solid;
}
.movie-thumb:hover {
  border: #274277 3px solid;
}

.movie-thumb img {
  display: block;
  width: 100%;
  height: auto;
}

.movie-thumb .play-icon {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  pointer-events: none;
  width: 80px;
}

/* モーダル */
.modal {
  display: none;
  position: fixed;
  z-index: 9999;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.8);

  justify-content: center;
  align-items: center;
}

.modal-content {
  position: relative;
  max-width: 800px;
  width: 90%;
  background: #000;
  padding: 10px;
}

.modal video {
  width: 100%;
  height: auto;
}

.modal .close {
  position: absolute;
  top: 10px;
  right: 15px;
  font-size: 28px;
  color: #fff;
  cursor: pointer;
  z-index: 10000;
}

/* スマホ対応 */
@media screen and (max-width: 767px) {
  .competitor-profile {
    margin-top: 45px;
    padding: 0 15px 45px;
  }

  .competitor-profile__top {
    flex-direction: column;
    align-items: center;
    gap: 10px;
  }

  .competitor-profile__photo {
    width: 200px;
  }

  .competitor-profile__flag {
    width: 50px;
    top: -5px;
    left: -5px;
  }

  .competitor-profile__table th {
    width: 90px;
  }
  .movie-thumb {
    margin-top: 20px;
  }
}



/* common ----------------------------------------------------- */
body {
  font-family: "Roboto", "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}

.lh16 {
  line-height: 1.6;
}

.lh18 {
  line-height: 1.8;
}

.txt_full {
  width: 100%;
  max-width: 1012px;
  display: block;
  margin-left: auto;
  margin-right: auto;
}

.center {
  display: block;
  margin: auto;
}

.full {
  width: 100%;
}

.text-pc-center {
  text-align: center;
}

.inner-footer {
  margin-top: 40px;
}

@media screen and (max-width: 767px) {
  .text-pc-center {
    text-align: start;
  }

  .sp_s14 {
    font-size: 1.4rem !important;
  }

  .sp_s16 {
    font-size: 1.6rem !important;
  }

  .sp_s17 {
    font-size: 1.7rem !important;
  }

  .sp_s18 {
    font-size: 1.8rem !important;
  }

  .sp_s23 {
    font-size: 2.3rem !important;
  }
}

#rwd-content .rwd-button-cta {
  background-color: #465A96;
  width: 390px;
  border-radius: 0;
}

#rwd-content .rwd-button-cta:hover {
  background-color: #274277;
}

@media screen and (max-width: 767px) {
  #rwd-content .rwd-button01 {
    width: 100%;
    min-height: 60px;
  }
}