
:root {
    --primary-red: #CF131B;
    --primary-orange: #F4A14C;
    --text-color: #000;
    --white: #FFFFFF;
    --light-gray: #D9D9D9;
    --dark-gray: #505050;
    --red-grad: linear-gradient(180deg , #F4A14C 0%, #CF131B 100%);
  
    --ttl-fontSize: 2.625rem;;
    --ttl-fontSizeSP: 2rem;;
    --ttl-fontWeight: 700;
    --ttl-lineHeight: 1;
  
    --font-Ssize: 1rem;
    --font-XSsize:  0.875rem;
  
    --table-border:#D9D9D9;
    --table-bg:#F1F1F1;
  
  
    --content-marginTop-pc: 6.25rem;
    --content-marginTop-sp: 1.91rem;
  
    --header-height: 5.2rem;
  
        
    --footer-marginTop-pc:20rem;
    --footer-marginTop-sp:4rem;
  }
  
  .membership {
    max-width: 1200px;
    margin:0 auto;
  }
  

  
  .membership-title {
    font-size: 2rem;
    color: var(--text-color);
    margin-bottom: 3rem;
    opacity: 0;
    transform: translateY(20px);
    animation: fadeInUp 0.6s ease forwards;
  }
  
  .membership-intro {
    margin-bottom: 3rem;
    line-height: 1.8;
    opacity: 0;
    transform: translateY(20px);
    animation: fadeInUp 0.6s ease forwards 0.2s;
  }
  
  .text-content {
    margin-bottom: 3.13rem;
    opacity: 0;
    transform: translateY(20px);
    animation: fadeInUp 0.6s ease forwards;
  }
  .text-content-detail {
    margin-top: .2rem;
  }
  .number-list {
    list-style: none;
    padding-left: 1.5rem;
    margin-bottom: 2rem;
  }
  
  .number-list li {
    position: relative;
    padding-left: 1.5rem;
  }
  
  .number-list li::before {
    content: "( " counter(list-item) " )";
    position: absolute;
    left: -1rem;
  }
  .number-list p {
    margin-bottom: 0;
  }

  .text-content a {
    color: var(--primary-red);
    text-decoration: underline;
    transition: .3s ease;
  }
  .text-content a:hover {
    opacity: 0.7;
  }

  .text-content a.contact-button {
    text-decoration: none;
  }
  .text-content a.contact-button:hover {
    opacity: 1;
  }
  
  .download-buttons {
    display: flex;
    justify-content: center;
    gap: 5.3rem;
    margin: 1.87rem 0;
  }
  .download-buttons .btn-wrap {
    margin-top: 0;
  }

  .download-button {
    display: flex;
    align-items: center;
    padding: 1rem 2rem;
    border-radius: 100px;
    text-decoration: none;
    transition: opacity 0.3s ease;
  }

  
  .download-button.regular {
    background-color: var(--primary-red);
    color: var(--white);
  }
  
  .download-button.student {
    background-color: var(--primary-orange);
    color: var(--white);
  }
  
  .download-button:hover {
    opacity: 0.8;
  }
  

  
  @keyframes fadeInUp {
    from {
      opacity: 0;
      transform: translateY(20px);
    }
    to {
      opacity: 1;
      transform: translateY(0);
    }
  }
  
  @media (max-width: 768px) {
    .membership {
      padding: 0;
    }
  
    .membership-container {
      padding: 0;
    }
  
    .membership-title {
      font-size: 1.5rem;
      margin-bottom: 2rem;
    }
  
    .section-title {
      font-size: 1.2rem;
    }
  
    .download-buttons {

        flex-direction: column;
      gap: 1.25rem;
      justify-content: center;
    }
    .download-buttons  .btn-wrap {
        margin-top: 0;
    }
  
    .download-button {
      justify-content: center;
    }
  
    .download-buttons .contact-button.pdf {
        padding: 1.1rem 2.8rem;
        border-radius: 1.87rem;
    }
  }




  /* ---------------
  
  賛助会員
  
  ------------------*/

  .supporting-members {
    max-width: 1000px;
    margin: 0 auto;
    padding: 4rem 2rem;
  }
  
  .section-title {
    font-size: 1.8rem;
    margin-bottom: 2rem;
    padding-left: 1rem;
    border-left: 4px solid var(--primary-red);
    opacity: 0;
    transform: translateY(20px);
    animation: fadeInUp 0.6s ease forwards;
  }
  
  .section-text {
    margin-bottom: 3rem;
    opacity: 0;
    transform: translateY(20px);
    animation: fadeInUp 0.6s ease forwards 0.2s;
  }
  
  .subsection-title {
    color: var(--primary-red);
    font-size: 1.2rem;
    margin-bottom: 1rem;
  }

  
  .requirements-content,
  .benefits-content {
    margin-top: 1.88rem;
  }
  
  .requirements-content p {
    margin-bottom: 1.4rem;
  }

  .pdf-icon {
    margin-right: 0.5rem;
  }
  
  .list-content {
    list-style: none;
    padding: 0;
  }
  
  .list-content li {
    position: relative;
    padding-left: 1.5rem;
  }
  
  .list-content li::before {
    content: '・';
    position: absolute;
    left: 0;
    color: var(--text-color);
  }

  .member-logo {
    display: flex;
    align-items: flex-end;
    justify-content: flex-start;
    width: 17rem;
    height: 100%;
    margin-bottom: .8rem;
  }

  .member-logo img {
    width:auto;
    height: 4rem;
    object-fit: contain;

  }
  
  
  @keyframes fadeInUp {
    from {
      opacity: 0;
      transform: translateY(20px);
    }
    to {
      opacity: 1;
      transform: translateY(0);
    }
  }
  
  @media (max-width: 768px) {

    .list-content li {
      margin-bottom: .5rem;
    }
    .member-logo {
      margin: 0 auto.5rem;
      justify-content: center;
    }
    .table-content.support-member-detail {      
      margin-bottom: 3.12rem;
    }
  }


  /* -------------
  
  Q&Aのレイアウト
  
  -------------------*/
  @media (max-width: 768px) {
  .qna-container .red-heading {
    font-size: 1.02rem;

  }
}