@charset "UTF-8";
/* CSS Document */
    :root {
      --coral: #ff3b3f;
      --coral-dark: #d93236;
      --coral-light: #ff6568;
      --green: #72bd1a;
      --green-dark: #5D8C1F;
      --pink: #ff4b70;
      --orange: #ffa513;
      --yellow: #FFC107;
      --bg: #FFFFFF;
      --bg-cream: #FFF9F5;
      --text: #333333;
      --text-light: #666666;
      --font-round: 'Noto Sans JP', sans-serif;
      --font-display: 'Montserrat', sans-serif;
      --u: clamp(calc(750px / 1440), calc(100vw / 1440), 1px);
      --icon-size: min(calc(100vw / 12), 120px);
    }

    *,
    *::before,
    *::after {
      box-sizing: border-box;
    }

    .page-content,
    .page-content *,
    .page-content *::before,
    .page-content *::after {
      margin: 0;
      padding: 0;
    }

    html {
      scroll-behavior: smooth;
      overflow-x: clip;
    }

    body {
      font-family: var(--font-round);
      color: var(--text);
      background: var(--bg);
      line-height: 1.8;
      -webkit-font-smoothing: antialiased;
      overflow-x: clip;
    }

    .page-content img {
      max-width: 100%;
      height: auto;
      display: block;
    }

    .page-content a {
      color: inherit !important;
      text-decoration: none !important;
    }

    .page-content .event-card__btn {
      color: #fff !important;
      background: none !important;
      padding: 0 !important;
      border-radius: 0 !important;
    }

    .page-content ul,
    .page-content ol {
      list-style: none;
    }

    .page-content {
      max-width: 1440px;
      margin: 0 auto;
      position: relative;
      overflow-x: clip;
    }

    .page-content>section {
      position: relative;
      margin-left: calc(var(--icon-size) * 2);
      margin-right: calc(var(--icon-size) * 2);
    }

    .page-content>.hero {
      margin-left: 0;
      margin-right: 0;
    }

    .inner {
      max-width: calc(1000 * var(--u));
      margin: 0 auto;
      padding: 0 calc(20 * var(--u));
    }

    /* === Nissay header/footer isolation === */
    .l-header {
      position: relative;
      z-index: 1000;
    }

    .l-header img {
      display: inline-block;
      max-width: 100%;
      height: auto;
    }

    .l-header .header-menu {
      display: block !important;
    }

    .l-header .header-menu__list {
      display: flex;
      justify-content: flex-end;
    }

    .minsp {
      display: none;
    }

    @media (max-width: 767px) {
      .l-header .header-menu {
        display: none !important;
      }

      .l-header .header-utility {
        display: flex !important;
        flex-wrap: nowrap !important;
        align-items: center;
        justify-content: flex-end;
      }

      .l-header .header-utility__list {
        display: none !important;
      }

      .l-header .header-login {
        flex-shrink: 0;
      }

      .l-header .hamburgerMenu {
        flex-shrink: 0;
      }
    }

    .l-footer {
      position: relative;
      z-index: 100;
    }

    .l-footer img {
      display: inline-block;
      max-width: 100%;
      height: auto;
    }

    .picto-section {
      position: relative;
    }

    .picto-global-wrap {
      position: relative;
      height: 0;
      overflow: visible;
      z-index: 0;
    }

    .picto-global-wrap .picto-side {
      position: absolute;
      top: 0;
      bottom: auto;
      width: calc(var(--icon-size) * 4);
      z-index: 1;
      display: flex;
      flex-wrap: wrap;
      align-content: start;
    }

    .picto-global-wrap .picto-side--left {
      left: calc(var(--icon-size) * -2);
    }

    .picto-global-wrap .picto-side--right {
      right: calc(var(--icon-size) * -2);
    }

    .picto-side--left {
      left: 0;
    }

    .picto-side--right {
      right: 0;
    }

    .picto-icon {
      width: var(--icon-size);
      height: var(--icon-size);
      padding: calc(6 * var(--u));
      flex-shrink: 0;
    }

    .picto-icon svg,
    .picto-icon img {
      width: 100%;
      height: 100%;
      display: block;
    }

    .picto-icon .picto-asset1 {
      width: 80% !important;
      height: 80% !important;
    }

    .picto-icon:has(.picto-asset1) {
      display: flex;
      align-items: center;
      justify-content: center;
    }

    .hero {
      position: relative;
      text-align: center;
      background: #fff;
    }

    .picto-frame {
      display: grid;
      grid-template-columns: auto 1fr auto;
      grid-template-rows: auto auto auto;
    }

    .picto-frame__top {
      grid-column: 1 / -1;
      display: flex;
      flex-wrap: nowrap;
    }

    .picto-frame__bottom {
      grid-column: 1 / -1;
      display: flex;
      flex-wrap: nowrap;
    }

    .picto-frame__left {
      grid-row: 2;
      grid-column: 1;
      display: flex;
      flex-wrap: wrap;
      align-content: flex-start;
      width: calc(var(--icon-size) * 2);
    }

    .picto-frame__right {
      grid-row: 2;
      grid-column: 3;
      display: flex;
      flex-wrap: wrap;
      align-content: flex-start;
      width: calc(var(--icon-size) * 2);
    }

    .picto-frame__center {
      grid-row: 2;
      grid-column: 2;
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      padding: 0 calc(20 * var(--u));
    }

    .picto-frame .picto-icon {
      width: var(--icon-size);
      height: var(--icon-size);
      padding: calc(6 * var(--u));
      flex-shrink: 0;
    }

    .picto-frame .picto-icon svg,
    .picto-frame .picto-icon img {
      width: 100%;
      height: 100%;
    }

    .hero__catch {
      font-size: calc(24 * var(--u));
      font-weight: 900;
      color: var(--text);
      letter-spacing: 0.06em;
      margin-bottom: calc(4 * var(--u));
    }

    .hero__visual {
      display: flex;
      flex-direction: column;
      align-items: center;
    }

    .hero__visual img {
      width: 68%;
      height: auto;
    }

    .hero__title {
      font-family: var(--font-display);
      font-size: calc(80 * var(--u));
      font-weight: 900;
      color: var(--coral);
      letter-spacing: -0.02em;
      line-height: 1.1;
      margin-bottom: calc(4 * var(--u));
    }

    .hero__sub {
      font-size: calc(18 * var(--u));
      font-weight: 700;
      color: var(--coral);
      letter-spacing: 0.12em;
    }

    .copy-section {
      position: relative;
      padding: calc(40 * var(--u)) 0 calc(60 * var(--u));
      text-align: center;
    }

    .copy-block__heading {
      font-size: calc(36 * var(--u));
      font-weight: 900;
      color: var(--coral);
      line-height: 1.6;
      margin: 10% auto 12%;
      display: flex;
      justify-content: center;
    }

    .copy-block__heading img {
      width: min(39vw, 560px);
    }

    .copy-block__body {
      font-size: calc(30 * var(--u));
      font-weight: 900;
      color: var(--coral);
      line-height: 2.2;
    }

    .copy-block__body p {
      margin-bottom: calc(20 * var(--u));
    }

    .below_copy p {
      font-size: clamp(14px, 1.5vw, 21px);
    }

    .section-heading {
      text-align: center;
      margin-bottom: calc(90 * var(--u));
    }

    .section-heading__label {
      display: inline-block;
      font-size: calc(16 * var(--u));
      font-weight: 900;
      color: var(--coral);
      margin-bottom: calc(6 * var(--u));
    }

    .section-heading__title {
      display: inline-block;
      background: var(--coral);
      color: #fff;
      font-size: calc(28 * var(--u));
      font-weight: 900;
      padding: calc(18 * var(--u)) calc(40 * var(--u));
      border-radius: calc(4 * var(--u));
      letter-spacing: 0.05em;
      clip-path: polygon(0% 2%, 3% 0%, 7% 3%, 12% 0%, 16% 2%, 20% 0%, 25% 3%, 30% 0%, 35% 2%, 40% 0%, 45% 2%, 50% 0%, 55% 3%, 60% 0%, 65% 2%, 70% 0%, 75% 3%, 80% 0%, 85% 2%, 90% 0%, 95% 3%, 100% 0%, 100% 98%, 97% 100%, 93% 97%, 88% 100%, 84% 98%, 80% 100%, 75% 97%, 70% 100%, 65% 98%, 60% 100%, 55% 97%, 50% 100%, 45% 98%, 40% 100%, 35% 97%, 30% 100%, 25% 98%, 20% 100%, 15% 97%, 10% 100%, 5% 98%, 0% 100%);
    }

    .events-section {
      padding: calc(60 * var(--u)) 0;
      position: relative;
    }

    .events-grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: calc(20 * var(--u));
      margin-left: calc(var(--icon-size) * -0.6);
      margin-right: calc(var(--icon-size) * -0.6);
      align-items: start;
      margin-bottom: calc(30 * var(--u));
    }

    .event-card-wrap {
      position: relative;
      padding: calc(8 * var(--u));
      background-size: 100% 100%;
      background-repeat: no-repeat;
    }

    .event-card-wrap:nth-child(1) {
      background-image: url(../img/card-bg-green.png);
    }

    .event-card-wrap:nth-child(2) {
      background-image: url(../img/card-bg-pink.png);
    }

    .event-card-wrap:nth-child(3) {
      background-image: url(../img/card-bg-orange.png);
    }

    .event-card {
      overflow: hidden;
      background: transparent;
    }

    .event-card__label {
      position: relative;
      z-index: 2;
      text-align: center;
      padding: calc(6 * var(--u)) calc(20 * var(--u));
      font-size: calc(28 * var(--u));
      font-weight: 900;
      color: #fff;
      display: inline-block;
      white-space: nowrap;
      transform: translateY(-50%);
      pointer-events: auto;
    }

    .event-card-wrap .event-card__label-wrap {
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      z-index: 2;
      text-align: center;
      pointer-events: none;
    }

    .event-card-wrap:nth-child(1) .event-card__label {
      background: url(../img/venue_01.png) center/100% 100% no-repeat;
    }

    .event-card-wrap:nth-child(2) .event-card__label {
      background: url(../img/venue_02.png) center/100% 100% no-repeat;
    }

    .event-card-wrap:nth-child(3) .event-card__label {
      background: url(../img/venue_03.png) center/100% 100% no-repeat;
    }

    .event-card__image {
      width: 100%;
      aspect-ratio: 16/10;
      background: #f0f0f0;
      display: flex;
      align-items: center;
      justify-content: center;
      color: #ccc;
      font-size: calc(12 * var(--u));
      font-weight: 700;
      margin-bottom: calc(4 * var(--u));
    }

    .event-card__info {
      padding: calc(20 * var(--u));
      font-size: max(11px, calc(16 * var(--u)));
      line-height: 1.8;
      font-weight: 700;
      background: #fff;
      padding-bottom: calc(24 * var(--u));
    }

    .event-card__info dl {
      margin-bottom: calc(16 * var(--u));
    }

    .event-card__info dl:last-child {
      margin-bottom: 0;
    }

    .event-card__info dt {
      display: inline-block;
      background: var(--coral);
      color: #fff;
      font-size: max(10px, calc(13 * var(--u)));
      font-weight: 900;
      padding: calc(2 * var(--u)) calc(10 * var(--u));
      border-radius: calc(4 * var(--u));
      margin-bottom: calc(4 * var(--u));
    }

    .event-card-wrap:nth-child(1) .event-card__info dt {
      background: var(--green);
    }

    .event-card-wrap:nth-child(2) .event-card__info dt {
      background: var(--pink);
    }

    .event-card-wrap:nth-child(3) .event-card__info dt {
      background: var(--orange);
    }

    .event-card__info dd {
      display: block;
      margin-left: 0;
      font-size: max(11px, calc(16 * var(--u)));
      font-weight: 700;
    }

    .event-card__coming-soon {
      display: flex;
      align-items: center;
      justify-content: center;
      background: #f0f0f0;
      font-family: var(--font-display);
      font-size: calc(28 * var(--u));
      font-weight: 800;
      color: #999;
      letter-spacing: 0.05em;
      min-height: calc(300 * var(--u));
      height: 100%;
    }

    .event-card__btn-wrap {
      text-align: center;
      position: absolute;
      bottom: 0;
      left: 0;
      right: 0;
      z-index: 3;
      transform: translateY(50%);
    }

    .event-card__btn {
      display: inline-block;
      text-align: center;
      padding: 0;
      font-size: calc(24 * var(--u));
      font-weight: 900;
      font-family: var(--font-display);
      color: #fff;
      letter-spacing: 0.12em;
      border-radius: 100px;
      position: relative;
      z-index: 2;
      transition: opacity 0.2s;
    }

    .event-card__btn:hover {
      opacity: 0.8;
    }

    .event-card-wrap {
      cursor: pointer;
      transition: opacity 0.2s;
    }

    .event-card-wrap:hover {
      opacity: 0.88;
    }

    .event-card__btn img {
      width: 100%;
      max-width: calc(200 * var(--u));
      display: block;
    }

    .event-card-wrap:nth-child(1) .event-card__btn {
      background: none;
    }

    .event-card-wrap:nth-child(2) .event-card__btn {
      background: none;
    }

    .event-card-wrap:nth-child(3) .event-card__btn {
      background: none;
    }

    .more-btn-wrap {
      display: flex !important;
      justify-content: center !important;
      padding: calc(30 * var(--u)) calc(20 * var(--u));
      width: 100% !important;
      box-sizing: border-box;
    }

    .more-btn {
      display: inline-block;
      background: var(--coral);
      color: #fff;
      font-size: calc(16 * var(--u));
      font-weight: 900;
      padding: calc(14 * var(--u)) calc(40 * var(--u));
      border-radius: calc(100 * var(--u));
      letter-spacing: 0.1em;
      transition: all 0.2s;
      border: none;
      cursor: pointer;
      margin: 0 auto;
      text-align: center;
    }

    .more-btn:hover {
      background: var(--coral-dark);
      transform: translateY(-calc(2 * var(--u)));
      box-shadow: 0 calc(4 * var(--u)) calc(16 * var(--u)) rgba(240, 90, 78, 0.3);
    }

    .athlete-section {
      padding: calc(60 * var(--u)) 0;
      position: relative;
    }

    .athlete-section .event-card-wrap {
      cursor: default;
    }

    .athlete-section .event-card-wrap:hover {
      opacity: 1;
    }

    .athlete-section .event-card__image {
      position: relative;
      cursor: pointer;
    }

    .athlete-section .event-card__image:hover {
      opacity: 0.88;
      transition: opacity 0.2s;
    }

    .athlete-section .event-card__image .zoom-icon {
      position: absolute;
      right: calc(8 * var(--u));
      bottom: calc(8 * var(--u));
      width: calc(32 * var(--u));
      height: calc(32 * var(--u));
      min-width: 28px;
      min-height: 28px;
      background: rgba(0, 0, 0, 0.55);
      border-radius: 50%;
      display: flex;
      align-items: center;
      justify-content: center;
      pointer-events: none;
    }

    .athlete-section .event-card__image .zoom-icon svg {
      width: 60%;
      height: 60%;
      fill: none;
      stroke: #fff;
      stroke-width: 2;
      stroke-linecap: round;
      stroke-linejoin: round;
    }

    .photo-modal-overlay {
      display: flex;
      position: fixed;
      inset: 0;
      z-index: 10000;
      background: rgba(0, 0, 0, 0.85);
      align-items: center;
      justify-content: center;
      cursor: zoom-out;
      opacity: 0;
      visibility: hidden;
      transition: opacity 0.3s ease, visibility 0.3s ease;
    }

    .photo-modal-overlay.is-active {
      opacity: 1;
      visibility: visible;
    }

    .photo-modal-overlay img {
      max-width: 90vw;
      max-height: 90vh;
      object-fit: contain;
      border-radius: 8px;
      box-shadow: 0 4px 40px rgba(0, 0, 0, 0.5);
      transform: scale(0.92);
      transition: transform 0.3s ease;
    }

    .photo-modal-overlay.is-active img {
      transform: scale(1);
    }

    .photo-modal-close {
      position: absolute;
      top: 20px;
      right: 24px;
      width: 40px;
      height: 40px;
      background: rgba(255, 255, 255, 0.15);
      border: none;
      border-radius: 50%;
      cursor: pointer;
      display: flex;
      align-items: center;
      justify-content: center;
    }

    .photo-modal-close svg {
      width: 20px;
      height: 20px;
      stroke: #fff;
      stroke-width: 2.5;
    }

    .athlete-heading {
      text-align: center;
      margin-bottom: calc(40 * var(--u));
    }

    .athlete-heading__sub {
      font-size: calc(18 * var(--u));
      font-weight: 900;
      color: var(--coral);
      margin-bottom: calc(4 * var(--u));
    }

    .athlete-heading__main {
      display: inline-block;
      background: var(--coral);
      color: #fff;
      font-size: calc(32 * var(--u));
      font-weight: 900;
      padding: calc(12 * var(--u)) calc(36 * var(--u));
      border-radius: calc(8 * var(--u));
      letter-spacing: 0.05em;
    }

    .athlete-grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: calc(20 * var(--u));
      margin-left: calc(var(--icon-size) * -0.6);
      margin-right: calc(var(--icon-size) * -0.6);
      align-items: start;
    }

    .athlete-card {
      border: calc(3 * var(--u)) solid #eee;
      border-radius: calc(8 * var(--u));
      overflow: hidden;
      background: #fff;
    }

    .athlete-card__image {
      width: 100%;
      aspect-ratio: 4/3;
      background: #f0f0f0;
      display: flex;
      align-items: center;
      justify-content: center;
      color: #ccc;
      font-size: calc(12 * var(--u));
      font-weight: 700;
    }

    .athlete-card__info {
      padding: calc(14 * var(--u));
      font-size: calc(12 * var(--u));
      line-height: 1.7;
      font-weight: 500;
    }

    .athlete-card__name {
      font-size: calc(15 * var(--u));
      font-weight: 900;
      margin-bottom: calc(4 * var(--u));
    }

    .athlete-card__sport {
      color: var(--coral);
      font-weight: 700;
      font-size: calc(12 * var(--u));
      margin-bottom: calc(8 * var(--u));
    }

    .about-section {
      padding: calc(60 * var(--u)) calc(20 * var(--u));
      position: relative;
    }

    .about-box {
      max-width: calc(700 * var(--u));
      margin: 0 auto;
      text-align: center;
    }

    .about-box__title {
      font-family: var(--font-display);
      font-size: calc(34 * var(--u));
      font-weight: 900;
      color: var(--coral);
      margin-bottom: calc(30 * var(--u));
      letter-spacing: 0.05em;
    }

    .about-box__text {
      font-size: calc(14 * var(--u));
      line-height: 2.2;
      font-weight: 500;
      color: var(--text);
      text-align: left;
    }

    .about-box__text p {
      margin-bottom: calc(20 * var(--u));
    }

    /* NEXT EVENT SECTION */
    .next-event-section {
      padding: calc(40 * var(--u)) calc(20 * var(--u)) calc(60 * var(--u));
    }

    .next-event-box {
      max-width: calc(700 * var(--u));
      margin: 0 auto;
      padding: calc(30 * var(--u));
      text-align: center;
    }

    .next-event-box img {
      display: block !important;
      margin: 0 auto !important;
    }

    .next-event-box__title {
      text-align: center;
      margin-bottom: calc(30 * var(--u));
    }

    .next-event-box__title span {
      display: inline-block;
      font-size: calc(24 * var(--u));
      font-weight: 900;
      color: #fff;
      background: var(--pink);
      padding: calc(8 * var(--u)) calc(30 * var(--u));
      letter-spacing: 0.1em;
    }

    .next-event-box table {
      width: 100%;
      font-size: calc(18 * var(--u));
      border-collapse: separate;
      border-spacing: 0 calc(8 * var(--u));
      table-layout: fixed;
    }

    .next-event-box th {
      text-align: justify;
      text-align-last: justify;
      font-weight: 900;
      color: var(--coral);
      padding: calc(10 * var(--u)) calc(12 * var(--u)) calc(10 * var(--u)) 0;
      white-space: nowrap;
      vertical-align: middle;
      width: calc(140 * var(--u));
    }

    .next-event-box td {
      padding: calc(4 * var(--u)) 0 calc(4 * var(--u)) calc(16 * var(--u));
      font-weight: 500;
      color: var(--coral);
      word-break: break-all;
      overflow-wrap: break-word;
      position: relative;
    }

    .next-event-box td::before {
      content: '';
      position: absolute;
      left: 0;
      top: 25%;
      height: 50%;
      width: calc(2 * var(--u));
      background: var(--coral);
    }

    .map-section {
      padding: 0 calc(20 * var(--u)) calc(60 * var(--u));
    }

    .map-embed {
      max-width: calc(600 * var(--u));
      margin: 0 auto;
      background: #f0f0f0;
      border-radius: calc(12 * var(--u));
      aspect-ratio: 16/9;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: calc(16 * var(--u));
      font-weight: 700;
      color: #ccc;
    }

    .social-section {
      padding: calc(40 * var(--u)) calc(20 * var(--u));
      text-align: center;
    }

    .social-section__text {
      font-size: calc(18 * var(--u));
      font-weight: 900;
      color: var(--coral);
      margin-bottom: calc(19 * var(--u));
    }

    .social-links {
      display: flex;
      justify-content: center;
      gap: calc(16 * var(--u));
    }

    .social-links a {
      width: calc(40 * var(--u));
      height: calc(40 * var(--u));
      border-radius: 50%;
      color: #fff;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: calc(16 * var(--u));
      font-weight: 900;
      font-family: var(--font-display);
      transition: all 0.2s;
    }

    .social-links a:hover {
      opacity: 0.7;
      transform: translateY(-calc(2 * var(--u)));
    }

    .site-footer {
      text-align: left;
    }

    .footer-logo {
      text-align: center;
      padding: calc(40 * var(--u)) calc(20 * var(--u));
      background: #fff;
      position: relative;
      overflow: hidden;
      z-index: -1;
    }

    .footer-logo__catch {
      font-size: calc(12 * var(--u));
      font-weight: 900;
      color: var(--text);
      margin-bottom: calc(4 * var(--u));
    }

    .footer-logo__title {
      font-family: var(--font-display);
      font-size: calc(28 * var(--u));
      font-weight: 900;
      color: var(--coral);
      letter-spacing: -0.01em;
      margin-bottom: calc(4 * var(--u));
    }

    .footer-logo__sub {
      font-size: calc(11 * var(--u));
      font-weight: 700;
      color: var(--coral);
      letter-spacing: 0.1em;
      margin-bottom: calc(6 * var(--u));
    }

    .footer-logo__partner {
      font-size: calc(11 * var(--u));
      color: var(--text);
      font-weight: 700;
      margin-top: calc(20 * var(--u));
    }

    .footer-notes {
      background: var(--pink);
      color: #fff;
      padding: calc(30 * var(--u)) calc(var(--icon-size) * 2);
      font-size: calc(14 * var(--u));
      line-height: 2;
      position: relative;
      z-index: 10;
      width: 100vw;
      margin-left: calc(50% - 50vw);
    }

    .footer-notes__title {
      font-weight: 900;
      font-size: calc(16 * var(--u));
      margin-bottom: calc(10 * var(--u));
    }

    .footer-notes p {
      margin-bottom: calc(4 * var(--u));
    }

    .fade-in-up {
      opacity: 0;
      transform: translateY(calc(40 * var(--u)));
      transition: opacity 0.8s ease-out, transform 0.8s ease-out;
    }

    .fade-in-up.is-visible {
      opacity: 1;
      transform: translateY(0);
    }

    .size_fit {
      width: 60%;
      margin: 0 auto;
    }

    .size_fit_02 {
      width: 40%;
      margin: 0 auto;
    }

    .size_fit_03 {
      width: 80%;
      margin: 0 auto min(3vw, 43px);
    }

    .size_fit_05 {
      width: 50%;
      margin: 0 auto;
    }


    .page-load-fade {
      opacity: 0;
      transition: opacity 0.8s ease-out;
    }

    .page-load-fade.is-loaded {
      opacity: 1;
    }

    .hero__visual {
      opacity: 0;
      transform: scale(0.4);
    }

    @keyframes bounceScale {
      0% {
        opacity: 0;
        transform: scale(0.4);
      }

      30% {
        opacity: 1;
      }

      70% {
        transform: scale(1.06);
      }

      100% {
        opacity: 1;
        transform: scale(1);
      }
    }

    .hero__visual.is-bounced {
      animation: bounceScale 0.9s cubic-bezier(0.22, 1, 0.36, 1) forwards;
    }

    @media (max-width: 750px) {

      .events-grid,
      .athlete-grid {
        margin-left: calc(var(--icon-size) * -0.3);
        margin-right: calc(var(--icon-size) * -0.3);
        grid-template-columns: 1fr;
        gap: calc(40 * var(--u));
      }

      .events-grid {
        grid-template-columns: 1fr;
        margin-left: 0;
        margin-right: 0;
        padding: 0 calc(44 * var(--u));
      }

      .events-section .events-grid {
        gap: calc(130 * var(--u));
      }

      .athlete-section .events-grid {
        gap: calc(50 * var(--u));
      }

      /* ラベル（第1回 東京会場） */
      .event-card__label {
        font-size: calc(46 * var(--u));
      }

      /* 本文 */
      .event-card__info {
        font-size: max(11px, calc(28 * var(--u)));
      }

      /* MOREボタン */
      .event-card__btn img {
        max-width: calc(280 * var(--u));
      }

      .events-section .event-card__info {
        padding-bottom: calc(60 * var(--u));
      }

      .footer-notes {
        font-size: calc(18 * var(--u));
      }

      .footer-notes__title {
        font-size: calc(24 * var(--u));
      }

      .below_copy p {
        font-size: 12px;
      }
    }

    @media (max-width: 650px) {
      .below_copy p {
        font-size: 10px;
      }

      .picto-global-wrap .picto-side {
        width: calc(var(--icon-size) * 2);
      }

      .picto-global-wrap .picto-side--left {
        left: calc(var(--icon-size) * -1);
      }

      .picto-global-wrap .picto-side--right {
        right: calc(var(--icon-size) * -1);
      }

      .page-content>section {
        margin-left: var(--icon-size);
        margin-right: var(--icon-size);
      }

      .footer-notes {
        padding-left: calc(var(--icon-size) * 1.2);
        padding-right: calc(var(--icon-size) * 1.2);
      }

      .page-content>.hero {
        margin-left: 0;
        margin-right: 0;
      }

      .picto-frame__left,
      .picto-frame__right {
        width: var(--icon-size);
      }

      .picto-frame__center {
        padding-top: calc(20 * var(--u));
        padding-bottom: calc(20 * var(--u));
      }

      .hero__visual img {
        width: 85%;
      }

      .copy-block__heading img {
        width: 60vw;
      }

      .event-card__label {
        font-size: calc(36 * var(--u));
      }

      .event-card__info {
        font-size: max(11px, calc(24 * var(--u)));
      }

      .section-heading,
      .athlete-heading,
      .about-box {
        padding: 0 calc(24 * var(--u));
      }

      .size_fit {
        width: 100%;
      }

      .size_fit_03 {
        width: 100%;
      }

      .minsp {
        display: block;
      }
    }

    @media (min-width: 751px) {
      .next-event-box img {
        max-width: calc(600 * var(--u));
      }

      .events-grid {
        align-items: stretch;
      }

      .event-card-wrap {
        display: flex;
        flex-direction: column;
      }

      .event-card {
        flex: 1;
        display: flex;
        flex-direction: column;
      }

      .event-card__info {
        flex: 1;
      }
    }

    .footer-notes p {
      text-indent: -1em;
      padding-left: 1em;
    }