@charset "UTF-8";

/* ================================================
2025 
================================================ */

body {
  /* background: url(../img/psjapan2025/content_bg.png) no-repeat; */
  background: none;
  background-size: cover;
  background-position: center;
  background-attachment: fixed;
}

#kv {
  margin-bottom: 0;
}

@media screen and (max-width: 767px) {
  #kv {
    margin-bottom: 0 !important;
  }
}


.kv_inner {
  background: url(../img/psjapan2025/kv_bg.jpg) no-repeat;
  background-position: center;
  background-size: cover;
  position: relative;
  height: 630px;
}

@media screen and (max-width: 767px) {
  .kv_inner {
    background: url(../img/psjapan2025/kv_bg_sp.jpg) no-repeat;
    background-position: center;
    background-size: cover;
    height: 100%;
  }
}

.kv_inner .topcampaign {
  position: absolute;
  top: 50%;
  margin: 0;
  transform: translate(0, -50%);
}

@media screen and (max-width: 767px) {
  .kv_inner .topcampaign {
    position: initial;
    transform: none;
    padding: 20px 0;
  }
}

.kv_index {
  max-width: 700px;
  margin: 0 auto;
  margin-top: -80px;
}

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

  .kv_index ul {
    padding-bottom: 30px;
  }
}

.kv_index_ttl {
  background: #f4e827;
  font-size: 20px;
  font-weight: 900;
  margin-bottom: 20px; 
}

@media screen and (max-width: 767px) {
  .kv_index_ttl {
    font-size: calc(45 / 750*100vw);
    line-height: initial;
    padding: 3px 0;
    margin-bottom: 15px;
  }
}

.kv_index_list_ttl { 
  background: #fff;
  color: #173063;
  font-size: 15px;
  font-weight: 900;
  border-radius: 4px 4px 0 0;
}

@media screen and (max-width: 767px) {
  .kv_index_list_ttl {
    font-size: calc(33 / 750*100vw);
  }
}

.kv_index_list_date {
  background: #000;
  color: #fff;
  font-size: 20px;
  border-radius: 0 0 4px 4px;
}

@media screen and (max-width: 767px) {
  .kv_index_list_date {
    font-size: calc(45 / 750*100vw);
  }
}

.kv_index_list_date span {
  font-size: 32px;
  font-weight: 900;
}

@media screen and (max-width: 767px) {
  .kv_index_list_date span {
    font-size: calc(55 / 750*100vw);
  }
}


.kv_top {
  margin-bottom: 60px;
}

@media screen and (max-width: 767px) {
  .kv_top {
    margin-bottom: calc(80 /750*100vw);
  }
}

.kv_bottom {

}


/* =======================================================================================================

about

======================================================================================================= */

#about {
  padding: 100px 0;
  background: #000;
  margin-bottom: 0;
}

@media screen and (max-width: 767px) {
  #aboubt {
    padding: 65px 0;
  }
}

#rule {
  margin-bottom: 0;
}

@media screen and (max-width: 767px) {
  #rule {
    padding: 65px 0;
  }
}

#about.border_bg,
.border_bg {
  padding: 100px 0;
  background: url(../img/psjapan2025/content_bg.png) repeat;
  width: 100%;
  background-size: 100% 612px;
}

@media screen and (max-width: 767px) {
  #about.border_bg,
  .border_bg {
    background: url(../img/psjapan2025/content_bg_sp.png) repeat;
    background-size: 100% calc(700 / 750*100vw);
    padding: 65px 0;
  }
}

.rule_flex {
  display: flex;
  align-items: stretch; 
  flex-wrap: wrap;
  gap: 0 25px;
  margin-top: 16px;
}

@media screen and (max-width: 767px) {
  .rule_flex {
    flex-direction: column;
  }
}

.rule_block {
  width: calc(100% / 3 - 17px);
  display: flex;
  flex-direction: column;
}

@media screen and (max-width: 767px) {
  .rule_block {
    width: 100%;
    margin-bottom: 20px;
  }

  .rule_block:last-child {
    margin-bottom: 0px;
  }
}

.rule_block:last-child {
  width: 100%;
}

.rule_block_body {
  border: solid 1px #fff;
  padding: 20px;
  flex: 1 1 auto; 
}

#rule .rule_block .rule_block_ttl {
  font-size: 18px;
  font-weight: 700;
  color: #15a9fb;
  margin-bottom: 5px;
}

.rule_block .rule_block_txt {
  font-size: 15px;
  color: #fff;
  line-height: 2;
}

.rule_block .rule_arrow {
  text-align: center;
  margin: 20px 0;
}

@media screen and (max-width: 767px) {
  .rule_block .rule_arrow {
    display: none;
  }

  .rule_block:nth-child(3) .rule_arrow {
    display: block;
    margin-bottom: 0;
  }

  #rule .sec_body p {
    white-space: normal;
  }
}

.rule_block .rule_arrow img {
  width: 16px;
  max-width: 100px;
}



/* =======================================================================================================

flow

======================================================================================================= */

#flow {
  margin-bottom: 0;
}

#flow h4 {
  background: #000;
  color: #fff;
  text-align: center;
  margin-bottom: 50px;
  padding: 8px;
  border-radius: 40px;
  font-size: 20px;
  letter-spacing: 2px;
}

@media screen and (max-width: 767px) {
  #flow h4 {
    font-size: calc(30 / 750 * 100vw);
  }

  #flow .list_02 h4 {
    margin-bottom: 10px;
  }

  #flow h4 span {
    display: none;
    
  }

  .list_02_text {
    color: #fff;
    text-align: center;
    font-size: calc(26 / 750 * 100vw);
    margin-bottom: 30px;
  }
}

#flow .list_inner {
  margin-bottom: 50px;
}

@media screen and (max-width: 767px) {
  #flow .list_item_inner {
    align-items: center;

  }
}

#flow .list_item {
  margin-right: 40px;
}

#flow .list_item_img_block:before {
  content: "";
  width: 32px;
  right: -37px;
}

@media screen and (max-width: 767px) {
  #flow .list_item_img_block:before,
  #flow .list_item:nth-child(1) .list_item_img_block:before,
  #flow .list_item:nth-child(2) .list_item_img_block:before {
    bottom: calc(-90 / 750 * 100vw);
  }
}


#flow .list_movie {
  text-align: center;
  position: relative;
}

#flow .list_movie a:before {
  content: "";
  width: 100px;
  height: 100px;
  background: url(../img/psjapan2025/play_movie.png) no-repeat;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 99;
}

@media screen and (max-width: 767px) {
  #flow .list_movie a:before {
    background-size: contain;
    content: "";
    width: 50px;
    height: 50px;
  }
}

#flow .list_02 {
  margin-bottom: 120px;
}

@media screen and (max-width: 767px) {
  #flow .list_02 {
    margin-bottom: 60px;
  }
}

#flow .list_03 {
  margin-bottom: 60px;
} 

#flow .btns {
  gap: 0 20px;
}

@media screen and (max-width: 767px) {
  #flow .btns {
    flex-direction: column;
  }
}

#flow .btn01 {
  width: 300px;
}

.btn01 {
  align-items: center;
  gap: 0 10px;
  font-size: 15px;
}

.btn01:before {
  position: initial;
  transform: rotate(45deg);
}

@media screen and (max-width: 767px) {
  #flow .btn01 {
    margin: auto;
    margin-bottom: 20px;
  }

  .btn01 {
    font-size: calc(28 / 750 * 100vw);
  }
}


#flow .btn01:before {
  left: 20px;
}


/* =======================================================================================================

supporter

======================================================================================================= */


#about.supporter .base_base {
  padding-top: 50px;
}

#about.supporter .base_base .sec_ttl {
  background: none;
  height: auto;
}

.sp_supporter {
  margin-top: -50px;
  margin-bottom: 50px;
}

@media screen and (max-width: 767px) {
  .sp_supporter {
    margin-top: -20px;
    margin-bottom: 25px;
  }
}

.sp_supporter02 {
  margin-top: -130px;
}

@media screen and (max-width: 767px) {
  .sp_supporter02 {
    margin-top: -70px;
  }
}

.sp_supporter_about {
  height: auto;
  padding-bottom: 32px;
}


.supporter_list_item {
  width: calc(100% / 4 );
  padding: 17px 10px;
}

@media screen and (max-width: 767px) {
  .supporter_list_item {
    width: calc( 100% / 2 );
    padding: 8px;
  }
}

.supporter_list_item_inner {
  padding: 25px 18px;
}

@media screen and (max-width: 767px) {
  .supporter_list_item_inner {
    padding: 12px 12px 16px;
  }

  .sns_item_id {
    font-size: 10px;
  }
}


/* =======================================================================================================

tournament

======================================================================================================= */


#about .local_tournament h3.local_tournament_ttl {
  background: linear-gradient(90deg, #09bbfe 0%, #5a42ec 99%);
  color: #000;
}

.local_tournament .sec_body {
  margin-top: 50px;
}

.local_tournament_flex {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
}

@media screen and (max-width: 767px) {
  .local_tournament_flex {
    flex-direction: column;
  }
}

.local_tournament_block {
  width: calc(100% / 2 - 10px);
}

@media screen and (max-width: 767px) {
  .local_tournament_block {
    width: 100%;
  }
}

.local_tournament_block_body {
  border: solid 1px #fff;
}

.local_tournament_block_ttl {
  background: #0078ff;
  color: #fff;
  padding: 5px 0;
  font-size: 20px;
}

@media screen and (max-width: 767px) {
  .local_tournament_block_ttl {
    font-size: calc( 30 / 750*100vw);
  }
}

.local_tournament_block_02 .local_tournament_block_ttl {
  background: #de2121;
}

.local_tournament_block_03 .local_tournament_block_ttl {
  background: #ff7200;
}

.local_tournament_block_04 .local_tournament_block_ttl {
  background: #b2df00;
}

.local_tournament_block_05 .local_tournament_block_ttl {
  background: #19d800;
}

.local_tournament_block_06 .local_tournament_block_ttl {
  background: #19d800;
}

.local_tournament_block_07 .local_tournament_block_ttl {
  background: #ff0076;
}



.local_tournament_block_inner {
  padding: 20px 30px;
}

@media screen and (max-width: 767px) {
  .local_tournament_block_inner  {
    padding: 16px;
  }
}

.local_tournament_block_txt {
  display: block;
  font-size: 20px;
  margin-bottom: 16px;
  padding-bottom: 16px;
  border-bottom: solid 1px #898989;
}

.local_tournament_block_txt a {
  color: #fff;
  text-decoration: underline;
}

@media screen and (max-width: 767px) {
  .local_tournament_block_txt {
    font-size: calc( 28 / 750*100vw);
  }
}

.local_tournament_block_txt a img {
  margin-bottom: 16px;
}

.local_tournament_block_txt span {
  display: block;
  font-size: 14px;
  padding-top: 8px;
}

@media screen and (max-width: 767px) {
  .local_tournament_block_txt span {
    font-size: calc( 25 / 750*100vw);
  }
}


.local_tournament_block_date {
  font-size: 16px;
}

@media screen and (max-width: 767px) {
  .local_tournament_block_date {
    font-size: calc( 25 / 750*100vw);
  }
}


.local_tournament_block_result_ttl {
  background: #1e1e1e;
  color: #fff;
  text-align: center;
  font-size: 16px;
  padding: 10px 0;
}

@media screen and (max-width: 767px) {
  .local_tournament_block_result_ttl {
    font-size: calc( 28 / 750*100vw);
  }
}


.online_tournament_block {
  width: calc(100% / 2 - 10px);
  border: solid 1px #e5e5e5;
  background: #313131;
  padding: 8px 0;
}

@media screen and (max-width: 767px) {
  .online_tournament .local_tournament_flex {
    flex-direction: row;
  }

  .online_tournament_block {

  }
}

.online_tournament_block_result {
  width: 100%;
  background: #1e1e1e;
}

.online_tournament_block_ttl {
  font-size: 20px;
  letter-spacing: 1px;
}

@media screen and (max-width: 767px) {
  .online_tournament_block_ttl {
    font-size: calc( 25 / 750*100vw);
  }
}

.online_tournament_block_result .online_tournament_block_ttl {
  font-size: 16px;
}

@media screen and (max-width: 767px) {
  .online_tournament_block_result .online_tournament_block_ttl {
    font-size: calc( 28 / 750*100vw);
  }
}


.local_tournament .btn01,
.online_tournament .btn01 {
  background: linear-gradient(-45deg, rgb(255, 0, 0) 0%, rgba(255, 208, 0, 0.99608) 100%);
}

#about h3 {
  /* margin-bottom: 16px; */
}

@media screen and (max-width: 767px) {
  #about h3 {
    height: auto;
  }
}

.base_base {
  background: rgba(0, 0, 0, 0.7);
}

#about h4 {
  font-size: 18px;
  font-weight: 900;
  padding-top: 8px;
}

@media screen and (max-width: 767px) {
  #about h4 {
    font-size: calc( 32 / 750*100vw);
    padding-top: 12px;
  }
}

.movie_slider {
  display: flex;
  align-items: center;
  gap: 0 50px;
  justify-content: center;
}

@media screen and (max-width: 767px) {
  .movie_slider {
    flex-direction: column;
  }
}

#movie .list_item {
  width: calc(100% / 3 - 33px);
  padding: 0;
}

@media screen and (max-width: 767px) {
  #movie .list_item {
    width: 100%;
    padding: 0 calc(35/750*100vw);
    margin-bottom: 20px;
  }

  #movie .list_item_inner {
    width: 100%;
  }

  #movie .list_item img {
    width: 100%;
  }
}

#movie, #faq {
  background: rgba(0, 0, 0, 0.8);
  margin-bottom: 100px;
}

@media screen and (max-width: 767px) {
  #movie, #faq {
    margin-bottom: calc(120 / 750*100vw);
  }
}

#faq {
  margin-bottom: 0;
}

#movie.movie h2, 
#faq.faq h2 {
  background: none;
}

#movie .sec_body, 
#faq .sec_body {
  margin-top: 70px;
}

footer {
  margin-top: 0;
}

.fixed_cta_btn {
  opacity: 0 !important;
  visibility: hidden !important;
}

.fixed_cta_btn.scrolled {
  opacity: 1 !important;
  visibility: visible !important;
}



#about .p-about  h2 {
  background: none;
  height: auto;
  margin-top: 0;
  padding-top: 20px;
}

#about .p-about  h3 {
  background: linear-gradient(90deg, #09bbfe 0%, #5a42ec 99%);
  color: #000;
}

.sel_ttl_link {
  display: inline-block;
  margin-top: 30px;
}

.sel_ttl_link p {
  color: #09bbfe;
  text-decoration: underline;
}

#special_2025 .supporter_list_items {
  justify-content: center;
}


.flow_list_text {
  color: #fff;
  text-align: center;
  margin-bottom: 40px;
}

.event_img {
  width: 400px;
}

@media screen and (max-width: 767px) {
  .event_img {
    width: 100%;
  }
}