body {
  font-family: Roboto, 'Helvetica Neue', 'Terminal', "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  -webkit-text-size-adjust: 100%;
  line-height: 1;
}
body,
h1,
h2,
h3,
h4,
h5,
div,
p,
dl,
dt,
dd,
ol,
ul,
li,
form,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
figure {
  margin: 0;
  padding: 0;
  font-weight: bold;
  font-size: 100%;
  box-sizing: border-box;
}
img,
iframe {
  border: none;
}
ol,
ul {
  list-style: none;
  list-style-type: none;
}
.hid {
  visibility: hidden;
}
.cover {
  width: 100%;
  height: 100%;
}
button {
  background: none;
  color: inherit;
  border: none;
  padding: 0;
  font: inherit;
  cursor: pointer;
  outline: inherit;
}
.lazy,
.lazy-done {
  position: relative;
  display: block;
  opacity: 0;
  transition: opacity 0.4s ease;
}
.lazy-done {
  opacity: 1;
}
html {
  font-size: 62.5%;
}
body {
  font-size: 1.6rem;
}
h1 {
  font-size: 3.2rem;
}
h2 {
  font-size: 2.3rem;
}
h3 {
  font-size: 2.1rem;
}
h4 {
  font-size: 2rem;
}
.nscj {
  font-family: "noto-sans-cjk-jp", sans-serif;
  font-weight: bold;
  font-style: normal;
  line-height: 1.5;
}
.teko {
  font-family: "Teko", sans-serif;
  font-weight: 600;
  font-style: bold;
}
:root {
  --Red: #b81c2b;
  --Blue: #0f1839;
  --Yellow: #ff0;
  --stage-gradient: linear-gradient(to top, var(--Red), var(--Blue));
  --tab-gradient: linear-gradient(to right, var(--Blue), var(--Red));
  --wc-body: #dae1e7;
  --wc-body-2: linear-gradient(180deg, rgba(0,0,0,0.2) 0%, #244679 25%, #244679 30%, #d9e7ef 60%, #0f1839 80%, #060a18 100%);
  --wc-body-3: #ff56b0;
  --wc-text-1: #630811;
  --wc-text-2: #000;
}
#Wc2026 {
  background: var(--wc-body);
}
#Wc2026 .sp-br {
  display: none;
}
#Wc2026 header h1.header {
  width: 100%;
  max-width: 1800px;
  margin: 0 auto;
  aspect-ratio: 1440/810;
  overflow: hidden;
}
#Wc2026 header h1.header .lazy,
#Wc2026 header h1.header .lazy-done {
  display: block;
  width: 100%;
  height: 100%;
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  pointer-events: none;
}
#Wc2026 header h1.header .lazy span,
#Wc2026 header h1.header .lazy-done span {
  display: block;
  overflow: hidden;
  white-space: nowrap;
  text-indent: 100%;
}
#Wc2026 header h1.header .lazy-done {
  background-image: url("../img/wc2026_main.webp?1");
}
#Wc2026 main {
  box-sizing: border-box;
}
#Wc2026 main .section-group {
  padding: 8rem 0;
  display: flex;
  flex-direction: column;
  gap: 14rem;
}
#Wc2026 main .content-section {
  display: flex;
  flex-direction: column;
  align-items: center;
  box-sizing: border-box;
  width: MIN(97%, 1080px);
  margin: 0 auto;
  gap: clamp(2.4rem, 4.5vw, 5rem);
}
#Wc2026 main .content-section .section-head {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  line-height: 1;
  font-weight: bolds;
}
#Wc2026 main .content-section .section-head__title {
  color: #fff;
  font-size: clamp(4.8rem, 5.3vw + 1.75rem, 9.6rem);
}
#Wc2026 main .content-section .section-head__subtitle {
  font-size: clamp(1.4rem, 0.11vw + 0.91rem, 1.6rem);
  font-weight: 700;
  letter-spacing: clamp(0.3rem, 0.5vw, 0.8rem);
  color: #fff;
}
#Wc2026 main .content-section .section-head--uniform .section-head__title {
  -webkit-text-stroke: 2px #8e8e8e;
}
#Wc2026 main .content-section .section-head--uniform .section-head__title,
#Wc2026 main .content-section .section-head--uniform .section-head__subtitle {
  color: #fff;
  text-shadow: 0 4px 4px rgba(0,0,0,0.25);
}
#Wc2026 main .content-section .section-head--special .section-head__title {
  -webkit-text-stroke: 2px #f08;
}
#Wc2026 main .content-section .section-head--special .section-head__title,
#Wc2026 main .content-section .section-head--special .section-head__subtitle {
  color: #fff;
  text-shadow: 0 4px 4px rgba(0,0,0,0.25);
}
#Wc2026 .photo-carousel {
  display: flex;
  align-items: center;
  justify-content: safe center;
  gap: clamp(0.8rem, 3vw, 5rem);
  width: 100%;
  height: calc(clamp(24rem, 39vw, 42rem) + 2 * clamp(2rem, 5vw, 5rem));
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
  padding: clamp(2rem, 5vw, 5rem) 0;
  cursor: grab;
  user-select: none;
  touch-action: none;
}
#Wc2026 .photo-carousel::-webkit-scrollbar {
  display: none;
}
#Wc2026 .photo-carousel.is-dragging {
  scroll-snap-type: none;
  cursor: grabbing;
}
#Wc2026 .photo-carousel__item {
  flex: none;
  scroll-snap-align: center;
  width: clamp(11rem, 18vw, 25rem);
  aspect-ratio: 2/3;
  overflow: hidden;
  opacity: 0.8;
  z-index: 1;
  transition: width 0.3s, opacity 0.3s;
}
#Wc2026 .photo-carousel__item--active {
  width: clamp(16rem, 26vw, 28rem);
  opacity: 1;
  z-index: 2;
}
#Wc2026 .photo-carousel__item .lazy,
#Wc2026 .photo-carousel__item .lazy-done {
  display: block;
  width: 100%;
  height: 100%;
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  background-color: #eee;
  pointer-events: none;
}
#Wc2026 .photo-carousel__item .lazy span,
#Wc2026 .photo-carousel__item .lazy-done span {
  display: block;
  overflow: hidden;
  white-space: nowrap;
  text-indent: 100%;
}
#Wc2026 .photo-carousel__item .uniform-photo--1.lazy-done {
  background-image: url("../img/uniform_1.jpg");
}
#Wc2026 .photo-carousel__item .uniform-photo--2.lazy-done {
  background-image: url("../img/uniform_2.jpg");
}
#Wc2026 .photo-carousel__item .uniform-photo--3.lazy-done {
  background-image: url("../img/uniform_3.jpg");
}
#Wc2026 .photo-carousel__item .uniform-photo--4.lazy-done {
  background-image: url("../img/uniform_4.jpg");
}
#Wc2026 .photo-carousel__item .uniform-photo--5.lazy-done {
  background-image: url("../img/uniform_5.jpg");
}
#Wc2026 .photo-carousel__item .special-photo--1.lazy-done {
  background-image: url("../img/special_1.jpg");
}
#Wc2026 .photo-carousel__item .special-photo--2.lazy-done {
  background-image: url("../img/special_2.jpg");
}
#Wc2026 .photo-carousel__item .special-photo--3.lazy-done {
  background-image: url("../img/special_3.jpg");
}
#Wc2026 .photo-carousel__item .special-photo--4.lazy-done {
  background-image: url("../img/special_4.jpg");
}
#Wc2026 .photo-carousel__item .special-photo--5.lazy-done {
  background-image: url("../img/special_5.jpg");
}
#Wc2026 .section-group.about {
  position: relative;
  overflow: hidden;
  background: url("../img/about_bg.webp"), var(--wc-body-2);
  background-position: center top, center top;
  background-size: 100% auto, cover;
  background-repeat: no-repeat;
  background-blend-mode: soft-light;
}
#Wc2026 .section-group.about::before,
#Wc2026 .section-group.about::after {
  content: '';
  position: absolute;
  top: 10vh;
  width: 4vw;
  max-width: 6rem;
  z-index: 0;
  pointer-events: none;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  opacity: 0.3;
}
#Wc2026 .section-group.about::before {
  left: 0;
  aspect-ratio: 64/1410;
  background-image: url("../img/about_bg_left.svg");
}
#Wc2026 .section-group.about::after {
  right: 0;
  aspect-ratio: 65/1425;
  background-image: url("../img/about_bg_right.svg");
}
#Wc2026 .section-group.about .about-section {
  color: #fff;
  text-align: center;
}
#Wc2026 .section-group.about .about-section .about-heading {
  font-size: clamp(1.8rem, 2.44vw, 3rem);
  line-height: 1.6;
  font-weight: bold;
  letter-spacing: -1.5%;
}
#Wc2026 .section-group.about .about-section .about-text {
  font-size: clamp(1.4rem, 1.81vw, 2rem);
  line-height: 2;
  font-weight: bold;
  letter-spacing: -3%;
}
#Wc2026 .section-group.about .rules-section {
  color: var(--wc-text-1);
  width: MIN(97%, 880px);
}
#Wc2026 .section-group.about .rules-section .rules-list {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.5rem;
  width: 100%;
  font-weight: bold;
  box-sizing: border-box;
}
#Wc2026 .section-group.about .rules-section .rules-arrow {
  display: block;
  width: 3rem;
  height: auto;
}
#Wc2026 .section-group.about .rules-section .rule-stage {
  position: relative;
  overflow: hidden;
  width: 100%;
  background: #fff;
  cursor: pointer;
  box-shadow: 4px 4px 10px rgba(0,0,0,0.15);
  padding: 2rem 1rem;
  box-sizing: border-box;
}
#Wc2026 .section-group.about .rules-section .rule-stage summary {
  list-style: none;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}
#Wc2026 .section-group.about .rules-section .rule-stage summary::-webkit-details-marker {
  display: none;
}
#Wc2026 .section-group.about .rules-section .rule-stage summary h3 {
  font-size: clamp(3.2rem, 5.48vw, 6.4rem);
  line-height: 1;
}
#Wc2026 .section-group.about .rules-section .rule-stage summary p {
  font-size: clamp(1.4rem, 3.15vw, 1.6rem);
  line-height: 1.6;
  text-align: center;
}
#Wc2026 .section-group.about .rules-section .rule-stage .summary-text {
  overflow: hidden;
  max-height: calc(3 * 1.6 * clamp(1.4rem, 0.66vw + 1.15rem, 2rem));
  transition: opacity 0.25s ease, max-height 0.25s ease;
}
#Wc2026 .section-group.about .rules-section .rule-stage__detail {
  display: grid;
  grid-template-rows: 0fr;
  overflow: hidden;
  transition: grid-template-rows 0.35s ease;
}
#Wc2026 .section-group.about .rules-section .rule-stage__detail > p {
  min-height: 0;
  overflow: hidden;
}
#Wc2026 .section-group.about .rules-section .rule-stage[open] .summary-text {
  opacity: 0;
  max-height: 0;
}
#Wc2026 .section-group.about .rules-section .rule-stage[open] .rule-stage__detail {
  grid-template-rows: 1fr;
}
#Wc2026 .section-group.about .rules-section .rule-stage::before {
  content: '';
  position: absolute;
  top: 0;
  left: -25%;
  width: 150%;
  height: 100%;
  z-index: 2;
  background: rgba(0,0,0,0.05);
  transform: translateX(-130%) skewX(-15deg);
  transition: transform 0.2s cubic-bezier(0.65, 0, 0.35, 1);
  pointer-events: none;
}
#Wc2026 .section-group.about .rules-section .rule-stage:hover:not([open])::before {
  transform: translateX(0) skewX(-15deg);
}
#Wc2026 .section-group.about .team-section {
  background: url("../img/team_bg.webp");
  background-repeat: no-repeat;
  background-position: top center;
  background-size: MIN(100%, 1800px) auto;
  background-position: center top;
  margin-bottom: 52px;
}
#Wc2026 .section-group.about .team-section .team-list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: clamp(1rem, 2vw, 2rem);
  width: 100%;
  width: MIN(97%, 880px);
}
#Wc2026 .section-group.about .team-section .team-card {
  position: relative;
  display: block;
  aspect-ratio: 708/428;
  overflow: hidden;
  text-decoration: none;
  -webkit-tap-highlight-color: transparent;
  box-shadow: 0 4px 4px rgba(0,0,0,0.25);
}
#Wc2026 .section-group.about .team-section .team-card__photos {
  width: 100%;
  height: 100%;
}
#Wc2026 .section-group.about .team-section .team-card__photos .lazy,
#Wc2026 .section-group.about .team-section .team-card__photos .lazy-done {
  display: block;
  width: 100%;
  height: 100%;
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}
#Wc2026 .section-group.about .team-section .team-card__photos .lazy span,
#Wc2026 .section-group.about .team-section .team-card__photos .lazy-done span {
  display: block;
  overflow: hidden;
  white-space: nowrap;
  text-indent: 100%;
}
#Wc2026 .section-group.about .team-section .team-card__photos .team-flag--red.lazy-done {
  background-image: url("../img/team_japan_red.webp");
}
#Wc2026 .section-group.about .team-section .team-card__photos .team-flag--blue.lazy-done {
  background-image: url("../img/team_japan_blue.webp");
}
#Wc2026 .section-group.about .team-section .team-card__photos .team-flag--u20.lazy-done {
  background-image: url("../img/team_japan_u20.webp");
}
#Wc2026 .section-group.about .team-section .team-card__photos .team-flag--usa.lazy-done {
  background-image: url("../img/team_usa.webp");
}
#Wc2026 .section-group.about .team-section .team-card__photos .team-flag--germany.lazy-done {
  background-image: url("../img/team_germany.webp");
}
#Wc2026 .section-group.about .team-section .team-card__photos .team-flag--australia.lazy-done {
  background-image: url("../img/team_australia.webp");
}
#Wc2026 .section-group.about .team-section .team-card__photos .team-flag--poland.lazy-done {
  background-image: url("../img/team_poland.webp");
}
#Wc2026 .section-group.about .team-section .team-card__photos .team-flag--france.lazy-done {
  background-image: url("../img/team_france.webp");
}
#Wc2026 .section-group.about .team-section .team-card::before {
  content: '';
  position: absolute;
  top: 0;
  left: -25%;
  width: 150%;
  height: 100%;
  z-index: 2;
  background: rgba(0,0,0,0.5);
  transform: translateX(-130%) skewX(-15deg);
  transition: transform 0.2s cubic-bezier(0.65, 0, 0.35, 1);
  pointer-events: none;
  mix-blend-mode: overlay;
}
#Wc2026 .section-group.about .team-section .team-card:hover::before {
  transform: translateX(0) skewX(-15deg);
}
#Wc2026 .section-group.about .uniform-section {
  position: relative;
  width: 100%;
  max-width: 100%;
  overflow: hidden;
}
#Wc2026 .section-group.special {
  background: #ff56b0;
  position: relative;
}
#Wc2026 .section-group.special .special-section {
  position: relative;
  overflow: hidden;
  width: 100%;
  max-width: 100%;
}
#Wc2026 .section-group.special::after {
  position: absolute;
  content: "";
  top: 20px;
  background: url("../img/special_bg_top.svg");
  background-repeat: no-repeat;
  background-size: MIN(100%, 1800px) auto;
  background-position: center top;
  width: 100%;
  height: 100%;
  pointer-events: none;
}
#Wc2026 .section-group.special::before {
  position: absolute;
  content: "";
  bottom: 20px;
  background: url("../img/special_bg_bottom.svg");
  background-repeat: repeat-x;
  background-size: auto 100%;
  background-position: center bottom;
  width: 100%;
  height: 40px;
  pointer-events: none;
}
#Wc2026 .c-movie {
  --movie-overlap: 0px;
}
#Wc2026 .c-movie .c-btn__icon {
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
}
#Wc2026 .c-movie .c-btn__icon.lazy-done {
  background-image: url("/sasuke_rising/assets/img/common_icon_youtube_btn.svg");
}
#Wc2026 .c-movie .news-video .news-item-image span {
  aspect-ratio: 16/9;
  background-size: cover;
}
#Wc2026 .footer {
  background: url("../img/footer_bg.webp") center center/cover;
}
#Wc2026 .footer .footer__tap-text {
  color: var(--Red);
}
#Wc2026 .footer .footer__tap-arrows {
  content: url("/sasuke_rising/assets/img/common_footer_wc_tap-arrows.svg");
}
/* =================
 * PC
 * ================= */
@media (min-width: 991.99px) {
  #Wc2026 main .content-section .section-head__title {
    font-size: 96px;
  }
}
/* =================
 * スマホ
 * ================= */
@media (max-width: 991.98px) {
  #Wc2026 .pc-br {
    display: none;
  }
  #Wc2026 .sp-br {
    display: inline;
  }
  #Wc2026 main .section-group {
    padding: 4rem 0;
    gap: 6rem;
  }
  #Wc2026 main .section-group .content-section {
    padding: 0 calc(16vw / 3.75);
    width: 100%;
  }
  #Wc2026 main .section-group.about {
    background-size: 200% auto, cover;
  }
  #Wc2026 main .section-group.about::before,
  #Wc2026 main .section-group.about::after {
    top: clamp(4rem, 8vw, 8rem);
    transform: none;
  }
  #Wc2026 main .section-group.about .rules-section {
    width: 100%;
  }
  #Wc2026 main .section-group.about .rules-section .rules-list {
    gap: 1rem;
  }
  #Wc2026 main .section-group.about .rules-section .rules-list .rule-stage {
    padding: 2rem 1rem;
    gap: 0.5rem;
  }
  #Wc2026 main .section-group.about .about-section .about-text {
    line-height: 1.7;
  }
  #Wc2026 main .section-group.team .team-section .team-list {
    display: flex;
    flex-direction: column;
    gap: clamp(1rem, 2vw, 2rem);
    width: 100%;
  }
  #Wc2026 .c-movie__heading .c-heading__en {
    font-size: clamp(3rem, 5.3vw + 1.75rem, 9.6em);
  }
@-moz-keyframes marquee {
    0% {
      transform: translateX(0);
    }
    100% {
      transform: translateX(-50%);
    }
}
@-webkit-keyframes marquee {
    0% {
      transform: translateX(0);
    }
    100% {
      transform: translateX(-50%);
    }
}
@-o-keyframes marquee {
    0% {
      transform: translateX(0);
    }
    100% {
      transform: translateX(-50%);
    }
}
@keyframes marquee {
    0% {
      transform: translateX(0);
    }
    100% {
      transform: translateX(-50%);
    }
}
}
